服务端升级最新Nginx

服务端升级nginx的两种方法,官方deb包升级和官方最新源码升级。

安装nginx

apt install nginx

官方deb包升级

先停止nginx服务

systemctl stop nginx

1.添加源信任签名文件

wget http://nginx.org/keys/nginx_signing.key

apt-key add nginx_signing.key

2.在最后一行添加,配置下载源

vim /etc/apt/sources.list

xenial 16.04 / bionic 18.04 / disco 19.04

上面是Ubuntu各版本的英文代号,对应改写下面18.04版的 bionic nginx,然后添加进sources.list

1
2
deb http://nginx.org/packages/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/ubuntu/ bionic nginx

3.先删除之前的版本再安装,删除之前注意备份 /etc/nginx/nginx.conf 配置文件

apt purge nginx nginx-common

4.下载nginx最新升级包

官方deb包下载网站:http://nginx.org/packages/ubuntu/pool/nginx/n/nginx/

1
2
cd /opt
wget http://nginx.org/packages/ubuntu/pool/nginx/n/nginx/nginx_1.16.1-1~bionic_amd64.deb

5.安装deb包

dpkg -i nginx_1.16.1-1~bionic_amd64.deb

6.把第三步备份的nginx配置文件还原

7.重新启动nginx服务

systemctl start nginx

官方源码编译升级

首先查看一下nginx可执行文件的位置,方便替换升级文件

ps -ef | grep nginx

1.从官方下载最新nginx文件,Stable version 为稳定版,Mainline version 为开发版

官方下载页面:http://nginx.org/en/download.html

下载,解压nginx包

1
2
wget http://nginx.org/download/nginx-1.17.7.tar.gz
tar -xvf nginx-1.17.7.tar.gz

2.编译,安装

1
2
3
cd nginx-1.17.7
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make

3.备份旧版本的nginx可执行文件,复制新版本的nginx文件

1
2
mv /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.old 
cp nginx-1.17.7/objs/nginx /usr/local/nginx/sbin/

4.测试新版本nginx是否正常

/usr/local/nginx/sbin/nginx -t

5.平滑重启nginx

1
kill -QUIT `cat /usr/local/nginx/log/nginx.oldbin`

6.验证nginx是否升级成功,显示最新编译的版本信息即可

/usr/local/nginx/sbin/nginx -v

参考:

Bitcoin:1MQ3DJHnEdkP9scCiA1pGXTe9wyBmDtrvv