本文最后更新于 2231 天前,其中的信息可能已经有所发展或是发生改变。
前言
在前面的《Ubuntu 编译安装 Nginx 及拓展支持》已经介绍过如何安装 Nginx 了,不过一般都是安装的教程多,升级、维护的教程却少,但这个教程不一样,这是一个对你服务器负责的教程。
教程
定义版本
为了后面的维护方便,继续定义版本,这里将版本修改成要更新的新的软件版本号。
# Version
OpenSSLVersion='openssl-1.1.0f';
NginxCTVersion='1.3.2';
PageSpeedVersion='1.12.34.2';
SystemBit='X64';
NginxVersion='nginx-1.12.1';
上述软件版本更新查看: OpenSSL、Nginx-CT、PageSpeed、Nginx
下载源码
cd /root/src
wget https://github.com/grahamedgecombe/nginx-ct/archive/v$NginxCTVersion.tar.gz
tar xzf v$NginxCTVersion.tar.gz
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ../
wget https://github.com/pagespeed/ngx_pagespeed/archive/v$PageSpeedVersion-beta.zip
unzip v$PageSpeedVersion-beta.zip
cd ngx_pagespeed-$PageSpeedVersion-beta/
wget https://dl.google.com/dl/page-speed/psol/$PageSpeedVersion-$SystemBit.tar.gz
tar -xzvf $PageSpeedVersion-$SystemBit.tar.gz
cd ../
wget -c http://nginx.org/download/$NginxVersion.tar.gz
tar zxf $NginxVersion.tar.gz
升级
cd $NginxVersion
./configure --prefix=/usr/local/nginx \
--user=www-data --group=www-data \
--add-module=../ngx_brotli \
--add-module=../nginx-ct-$NginxCTVersion \
--add-module=../ngx_pagespeed-$PageSpeedVersion-beta \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-openssl=../$OpenSSLVersion \
--with-ld-opt='-ljemalloc'
make
mv /usr/local/nginx/sbin/nginx{,`date +%m%d`} #备份现有nginx
cp objs/nginx /usr/local/nginx/sbin/nginx
kill -USR2 `cat /run/nginx.pid`
sleep 1
kill -QUIT `cat /run/nginx.pid.oldbin`
解释
make
之后,运行
mv /usr/local/nginx/sbin/nginx{,`date +%m%d`}
是为了备份旧的二进制 Nginx 文件。
cp objs/nginx /usr/local/nginx/sbin/nginx
是将编译好的新二进制版Nginx替换旧的Nginx
kill -USR2 `cat /run/nginx.pid`
是为了删除旧版本的运行进程。
查看
运行下面命令,查看现有 nginx.conf
文件是否符合现有版本的要求。
ngint -t
然后通过下面命令,查看版本是有已经更新至最新版本。
nginx -V
这里将版本修改成妖更新的新的软件版本号
妖 -> 要
多谢提醒,已经更新