影者东升 发表于 2021-8-15 19:24:54

Nginx1.8.0版本平滑升级新版本1.9.7

首先查看现在环境nginx的版本为1.8.0 编译的参数只指定了安装路径;
复制代码代码如下:


# ./nginx -V

nginx version: nginx/1.8.0

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)

configure arguments: --prefix=/usr/local/nginx平滑升级步骤如下:
下载nginx1.9.7版本,解压并进入解压后的目录
复制代码代码如下:


# wget -P /usr/local/src/ http://nginx.org/download/nginx-1.9.7.tar.gz

# cd /usr/local/src/

# tar -zxvf nginx-1.9.7.tar.gz

# cd nginx-1.9.7编译安装之前查看nginx进程ID信息:
复制代码代码如下:


# ps -ef |grep nginx

root 894 1 0 16:06 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nobody 896 894 0 16:06 ? 00:00:00 nginx: worker process

nobody 897 894 0 16:06 ? 00:00:00 nginx: worker process编译安装:指定用户www 支持ssl 支持pcre 支持状态查询 支持静态压缩模块;
复制代码代码如下:


# ./configure --user=www --group=www --prefix=/usr/local/nginx/ --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module编译安装后可以echo $?查看是否成功,成功后只需要执行make,不需要make install;
复制代码代码如下:


# make平滑升级,先移走现有的nginx二进制文件
复制代码代码如下:


# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old拷贝新生成的nginx二进制文件到指定目录
复制代码代码如下:


# cp objs/nginx /usr/local/nginx/sbin/执行升级命令
复制代码代码如下:


# 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`查看版本,发现已经是1.9.7版本,编译的参数也存在;
复制代码代码如下:


# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.9.7

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments: --user=www --group=www --prefix=/usr/local/nginx/ --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module创建www用户
复制代码代码如下:


# useradd -s /sbin/nologin -M www查看nginx进程 PID已经更改
复制代码代码如下:


# ps -ef |grep nginx

root 3814 1 0 16:23 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nobody 3815 3814 0 16:23 ? 00:00:00 nginx: worker process

nobody 3816 3814 0 16:23 ? 00:00:00 nginx: worker process修改nginx.conf配置文件,更改用户和用户组为www用户,保存退出,重启nginx服务;
复制代码代码如下:


# ps -ef |grep nginx

root 3814 1 0 16:23 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

www 4200 3814 0 16:48 ? 00:00:00 nginx: worker process

www 4201 3814 0 16:48 ? 00:00:00 nginx: worker processNginx1.8.0版本平滑升级新版本1.9.7就给大家介绍到这里,希望对大家有所帮助!

文档来源:服务器之家http://www.zzvips.com/article/28285.html
页: [1]
查看完整版本: Nginx1.8.0版本平滑升级新版本1.9.7