为nginx平滑升级在make upgrate那一步除了点小状况
[root@web01 nginx-1.0.5]# make upgrade /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` sleep 1 test -f /usr/local/nginx/logs/nginx.pid.oldbin make: *** [upgrade] 错误 1 [root@web01 nginx-1.0.5]#
找不到进程文件出错,无法进行下一步
再次启动脚本,有如下提示
[root@web01 sbin]# ./nginxold [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) [emerg]: still could not bind()
这步是说80端口被使用
我也不清楚为什么nginx启动了却没有进程文件。
所以先把nginx kill掉,重新启动
[root@web01 sbin]# pkill -int nginx [root@web01 sbin]# ./nginxold [root@web01 sbin]#
接着make upgrate就成功了升级
[root@web01 nginx-1.0.5]# make upgrade /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` sleep 1 test -f /usr/local/nginx/logs/nginx.pid.oldbin kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` [root@web01 nginx-1.0.5]# [root@web01 nginx-1.0.5]#
希望对大家有帮助
转载于:https://blog.51cto.com/huanglianfeng/1368859