然后打包是打成war包。
先在本地服务器测试,没改java代码的话可以只替换肆漏戚jsp或者css,js之类的文件,图片搜没也一样
改了java代码就一定要重新打包重新部署
项目上线一定要做好旧版本的备份。因为不知会遇到什么突发情况,部署失败裂陵的原因很多。如果部署失败要立即恢复旧版本以免影响线上功能正常运行。备份的话只保留最近一个能正常运行的就行,其它老版本代码在cvs上都能找到。
ps代码同步很重要
java 应用程序在linux部署方法:1,将项目达成war包(用eclipse,项目右键--Export--选择war file)
2,将tomcat(用winSCP当然也可以用secureCRT,用securCRT需要建立sftp(即上传文件的目录),用put tomcat命令)考到ilunx对应的目录下
3,然后将项目的war包放到雹悉tomcat的webapps目录下
4,启动tomcat(命令:./startup.sh(linux下启动tomcat是.sh文件而非.bat文件))
遇到问题如下:
运行./startup.sh 是报错
-bash: ./startup.sh: Permission denied
原因:没有运渗肆亏行.sh的权限
解决:chmod 777 *.sh
755 代表用户对该文件拥有读,写,执行的权限,同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组丛神人员权限一样。
777代表,user,group ,others ,都有读写和可执行权限。
获得权限后再运行./startup.sh命令时报错:
This file is needed to run this program
原因:该文件需要一个运行环境(即配置jdk环境变量)
解决:JAVA_HOME=/usr/java/jdk1.6.0_25/(当然这个目录根据自己的jdk安装目录)
然后在运行./startup.sh 提示:
Using CATALINA_BASE: /usr/local/sarft/apache/apache-tomcat-6.0.29
Using CATALINA_HOME: /usr/local/sarft/apache/apache-tomcat-6.0.29
Using CATALINA_TMPDIR: /usr/local/sarft/apache/apache-tomcat-6.0.29/temp
Using JRE_HOME: /usr/java/jdk1.6.0_25/
Using CLASSPATH: /usr/local/sarft/apache/apache-tomcat-6.0.29/bin/bootstrap.jar
如果提示以上信息表明 tomcat启动成功,可以正常run了。
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。在下文中$CATALINA_HOME指的是Tomcat根目录。比如你的Tomcat放在F盘下,就是F:\Tomcat一、静态部署
静态部署指的是我们在服务器启动之前部署我们的程序,只有当服旦亮务器启动之后,我们的Web应用程序才能访问。以下3中方式都可以部署:假设你的java web应用程序是test
1、将test目录拷贝到$CATALINA_HOME\webapps下,然后启动服务器就可以了。这种方式比较简单,但是web应用程序必须在webapps目录下。访问地址如下:
http://localhost:8080/test/
2、这种方式可以不必将test目录拷贝到webapps下,直接在F:\部署。方法如下,更改$CATALINA_HOME\conf\server.xml文件,在<host>标签内添加<Context>标签,内容如下:
<Context docBase="F:/test" reloadable="false" path="/test"/>
其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。docBase为路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。访问地址如下:http://localhost:8080/test/
3、这种方式和第二种方式差不多,但是不是在Server.xml文件中添加Context标签,而是在$CATALINA_HOME\conf\Catalina\localhost中添加一个xml文件,如test.xml,内容如下:
<Context docBase="F:/test" reloadable="false" />大家可能发现和第二种方式差不多,但是缺少了path属性,这种方式服务器会使用.xml的名字作为path属性的值。访问地址如下:http://localhost:8080/test/
我们刚才是将test文件夹部署在了服务器中,我们知道可以将Web应用程序的内容打成.war包,然后在部署在服务器上。打包请参考如下步骤:
1、打开命令提示符(开始-->运行-->cmd)
2、设置jdk环境变量
3、在命令提示符中进入F:\test文件后,友知键入如下命令:
jar ..\test.war *.* 这样在F:\下应该有test.war文件。其中..表示当前目录的父目录。
部署test.war文件非常简单,将刚才有docBase="F:\test"更改为docBase="F:\test.war"或者直接将其拷贝到webapps下也可以。重新启动服务器就可以将test.war部署为一个Web应用程序了。如果你够细心的话你会发现,服务器将test.war文件解开,并且在webapps下面又生成了一个test文件夹,然后把test.war的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩,配置方式如下:
<Context docBase="F:/test" reloadable="false" unpackWAR="false"/>
二、动态部署
动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOME\webapps\下没有该文件,你必须去重新下载tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOME\conf\tomcat-users.xml文件,内容如下:关于这个文件的更多内容,请参考Java Web应用程序的安全模型二
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<好迟消role rolename="manager"/>
<user username="coresun" password="coresun" roles="manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
然后在浏览器中键入如下地址:
http://localhost:8080/应该看到一个漂亮的加菲猫了吧。点击左边的Tomcat Manager链接,提示输入用户名和密码,本文都是coresun,然后可以看到以下页面:
在Context Path(option):中输入/test
XML Configration file URL中要指定一个.xml文件,比如我们在F:\下建立一个test.xml文件,内容如下:
<Context reloadable="false" />docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填。
在WAR or Directory URL:中键入F:\testWet或者F:\test.war都可以,然后点击Deploy按钮,看看上面是不是已经看到了你web应用程序,名字就是你Context Path(option):中的名字。
如果你部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。
推荐你使用第一种方式的第一个方法就行了,你直接把你java程序中的WebRoot文件夹及其所有的内容copy到$CATALINA_HOME\webapps 下,然后重命名就行了,比如重命名为test 那么你启动Tomcat后访问的路径就是http://localhost:8080/test
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)