在项目发版后经常需要修改bug,解决出现的各种问题,对项目升级,这时候就需要将之前部署,上线的项目更新版本.
本文就简单说一下一些出现的关键点(不到之处欢迎指教)
1.使用idea,eclipse等工具打war包
1).打开idea开发工具,在File下找到Project Structure…(注意:低版本的idea在Nevigate目录下找)
2).在打开的页面中找到Artifacts,点击右边的“+”,定义war包的名字和war包保存的路径,如果下面显示.MF file not found in Accept.war,那么要继续进行配置。否则在项目运行后在设置好的路径下找不到war包,这时点击下面绿色加号选择Directory Content,选择你当前项目的WebRoot目录,之后保存就配置好了。
3).点击“Build”,选择“Build Artifacts”…
4).然后选择之前定义的输入war包的名字,选择“build”,大概一分钟就能打包完成,完成后到项目里面找到一个“out”目录,里面就有XXXX.war,就可以拿到tomcat下部署了
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目录的改动要及时配置新的