LNMP升级Nginx和Openssl到最新版
好吧,强迫症又犯了。是该折腾点什么,但是站点是静态站点,能折腾的地方没有动态站点的多,就想着把服务器的LNMP一键包的底层升级一下,于是查看了Nginx和Openssl的版本…
查看Nginx和Openssl版本号:
/usr/local/nginx/sbin/nginx -V
再去Nginx官网和Openssl官网看了一下,版本上有一些差距。Nginx更是同时发布了两个更新:Nginx 于近日同时为稳定版和主线版两个分支发布了更新,分别是 Nginx-1.16.1 和 Nginx-1.17.3。主要修复了在 HTTP/2 中的安全漏洞 (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516)。
对于强迫症的我,怎么能忍受。奈何自己是半吊子水平,参照网上的文章,慢慢摸索下,终于把Nginx和Openssl升级到最新版。
博主用的是LNMP一键包,这里就以军哥LNMP一键包为安装环境,将Nginx和Openssl升级到最新版进行讲解,使用LNMP的站长们都可以参考一下。
通过ssh登录到vps,手动进入你LNMP目录下的src目录(这里以我的安装目录为例):
cd ~/lnmp1.6/src
下载并解压 OpenSSL1.1.1d
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1d.tar.gz && tar -xzvf openssl-1.1.1d.tar.gz && rm -rf openssl-1.1.1d.tar.gz
修改 include 目录中的 upgrade_nginx.sh 文件
vi ~/lnmp1.6/include/upgrade_nginx.sh
修改下面这段代码:
if [[ "${Nginx_Ver_Com}" == "0" || "${Nginx_Ver_Com}" == "1" ]]; then
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module ${Nginx_With_Openssl} ${Nginx_Module_Lua} ${NginxMAOpt} ${Nginx_Modules_Options}
else
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module ${Nginx_With_Openssl} ${Nginx_Module_Lua} ${NginxMAOpt} ${Nginx_Modules_Options}
fi
将else
之后的${Nginx_With_Openssl}
改成–with-openssl=/root/lnmp1.6/src/openssl-1.1.1d
即可。修改完成后,ESC
键输入:wq
保存并退出。
接下来给予upgrade_nginx.sh
文件执行权限。
chmod +x upgrade_nginx.sh
升级 Nginx
cd ~/lnmp1.6
./upgrade.sh nginx
这里会弹出一个提示,要求输入升级的 Nginx 版本号。
当前我的 Nginx 版本为1.4.1
,官方主线版本最新版本为1.17.3
,直接输入新的版本号 1.17.3
按回车键确定,接下来就是等待其自动编译安装完成。
编译完成后,检查一下Openssl
和Nginx
版本号对不对的上
nginx -V
重启LNMP运行环境:
lnmp restart