Web项目发布的更新

时间:2022-10-05 06:51:12

在项目发版后经常需要修改bug,解决出现的各种问题,对项目升级,这时候就需要将之前部署,上线的项目更新版本. 
本文就简单说一下一些出现的关键点(不到之处欢迎指教) 
1.使用idea,eclipse等工具打war包 
1).打开idea开发工具,在File下找到Project Structure…(注意:低版本的idea在Nevigate目录下找) 
Web项目发布的更新

2).在打开的页面中找到Artifacts,点击右边的“+”,定义war包的名字和war包保存的路径,如果下面显示.MF file not found in Accept.war,那么要继续进行配置。否则在项目运行后在设置好的路径下找不到war包,这时点击下面绿色加号选择Directory Content,选择你当前项目的WebRoot目录,之后保存就配置好了。 
Web项目发布的更新

3).点击“Build”,选择“Build Artifacts”… 
Web项目发布的更新

4).然后选择之前定义的输入war包的名字,选择“build”,大概一分钟就能打包完成,完成后到项目里面找到一个“out”目录,里面就有XXXX.war,就可以拿到tomcat下部署了 
Web项目发布的更新

2.将打好的war包拷贝到两台服务器的tomcat/webapp目录中(服务器数量不一定) 
1).首先将原有的服务器中的webapp中的项目拷贝一份放入某一个目录保存 
#cp /opt/tomcat8.5-comp/webapps/comp.war /opt/local/comp.war 
2).然后将两台服务器暂时关闭(注意) 
进入两台服务器的bin目录执行 
#./shutdown.sh 
3).删除webapps中的项目,分别进入两台服务器中的webapps中 
#rm -rf comp comp.war 
4).将准备好的war包拷贝到两台服务器中 
#cp /medir/war包路径 /opt/tomcat8.5-comp/webapps 
将该webapps下的war包传到另一台webapps下 
#scp comp.war root@192.168.70.112:/opt/tomcat8.5-comp/webapps/comp.war 
运行两台tomcat服务器 
#./startup.sh 
3.Nginx 
1).进入Nginx安装目录下 
#cd /usr/local/nginx/ 
2).查询正在运行的nginx 
#ps aux | grep nginx 
3).强制关闭 
#kill -9 2207 
#kill -9 2208 
4).重启 
查看配置文件是否正确 
#sbin/nginx -t 
重启nginx(进入sbin)重新加载配置 
#./nginx -s reload 
方法2 
在启动命令前加-t 
./ngin -t -c 
5).常见错误 
如果启动失败 可以看下logs目录下 error.log 文件里的错误信息。 
我在第一次安装的时遇到两个错误,也是最容易碰到的问题,在这里列 
出来方便大家碰到相同的问题时快速解决。 
1. 端口占用问题 
我的配置文件里服务侦听的是 80 端口,由于机器上部署了IIS,80端口 
被默认站点占用,把站点关闭就可以了,这个问题在错误日志里记录是 
这样的。 
2017/01/15 10:44:12 [emerg] 8800#5988: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 
碰到类似的错误,请确认端口是否被占用或被防火墙屏蔽 
2.Nginx所在目录有中文 
错误日志大致输出一下内容 
2017/01/15 11:55:55 [emerg] 5664#8528: CreateFile() “E:\软件\nginx-1.7.8/conf/nginx.conf” failed (1113: No mapping for the Unicode character exists in the target multi-byte code page) 
3. 启用缓存时报错 
2017/01/15 17:26:50 [emerg] 17068#20356: shared zone “cache_one” has no equal addresses: 02CF0000 vs 02A20000 
2017/01/15 17:26:50 [alert] 11536#11228: worker process 17068 exited with code 1 
我一直没有找到解决的方法,有人说重启服务,或者缓存设置大一点就可以了,我试了一下没有用的,官网 原文是这样讲的,只能认为windwos下无解了。 
: The cache and other modules which require shared memory support do 
: not work in Windows Vista and later due to address space layout 
: randomization being enabled in these Windows versions. 
4.在客户端登录http://211.147.135.xxx/ajjweb/indexLog.do?action=index检测部署是否成功 
注:1.asserts目录的改动要及时配置新的