线上业务,纯属测试升级,线上业务不要采用此方法,可以采用官方推荐的平滑升级。

环境:

  Linux centos 7.7 nginx-1.18,1

  nginx升级到最新nginx-1.20.1

一,官方下载最新源码

1
2
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz

二,停掉旧nginx服务

任意一种方法 kill or pkill or service stop, nginx -s stop ….. 都可以。

三,查看旧nginx旧编译安装参数,修改旧nginx, 已作备份之用

1
2
/usr/local/nginx/nginx -V
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.40 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/openssl-1.1.0f
1
mv /usr/local/nginx/sbin/nginx nginx.old

四,解压,假设在/home/xxx/目录

1
  cd nginx-1.20.1
1
  ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.40 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/openssl-1.1.0f
1
2
3
  make
  # 只编译不安装
  cp /home/xxx/nginx-1.16.1/objs/nginx /usr/local/nginx/nginx

五,升级成功,启动

  service nginx start