/usr/local/nginx/sbin/nginx -V #查看版本
nginx version: nginx/1.8.1
built by gcc 4.8.7 20120313 (Red Hat 4.8.7-3) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-ld-opt='-ljemalloc' #注意这里的编译项
cd lnmp/src
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar xzf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-ld-opt='-ljemalloc'
make //注意只make 不要make install
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx$(date +%m%d) #备份nginx原文件
cp objs/nginx /usr/local/nginx/sbin/nginx #复制编译make后的文件覆盖nginx原文件
/usr/local/nginx/sbin/nginx -t #检测nginx文件配置
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` #把nginx.pid改成nginx.pid.oldbin跟着启动新的nginx
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` # 给旧的主进发WINCH信号,把旧的主进程关闭,把所有请求转到新的主进程,但是原有的请求不会中断,有新请求的时候发到新进程

最后的结果出现了问题

软件已经升级但服务的进程还是旧版本,并且如果将旧版本删除则旧的服务进程将瘫痪。

如何可以使平滑升级时同时升级服务进程信息或将过去的服务信息迁移过来。
博客介绍了Nginx从1.8.1版本升级到1.10.3版本的具体操作步骤,包括查看版本、下载源码、编译等。但升级后出现问题,软件虽升级,服务进程仍是旧版本,删除旧版本会使旧服务进程瘫痪,提出如何平滑升级时升级服务进程信息或迁移旧服务信息的问题。
782

被折叠的 条评论
为什么被折叠?



