nginx升级

nginx升级

升级背景:Nginx是一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 Nginx存在漏洞,该漏洞允许攻击者从DNS服务器伪造UDP数据包造成1-byte的内存覆盖,导致工作进程崩溃或潜在的其他影响。漏洞名称: Nginx DNS解析漏洞(CVE-2021-23017) ,影响组件/版本: Nginx 0.6.18 - 1.20.0

升级步骤

1、基线版本下载

访问https://secwiki.sinosig.com/doku.php 里面的常见组件安全版本下载中的nginx安全版本install_nginx.tar.gz

2、上传基线包到服务器

上传install_nginx.tar.gz到服务器用户根路径,例如/nginx,可在本地将install_nginx.tar.gz改名为install_nginx-1.20.1.tar.gz用作区分

3、创建解压路径

创建解压路径执行,目的为了与原版本的install_nginx区分,执行命令

mkdir install_nginx_1.20.1

注: install_nginx文件夹在执行过里面的install.sh后可删除,此文件夹是为了方便各部门快速安装集团标准的nginx

4、解压nginx包

执行命令

tar -zxvf install_nginx-1.20.1.tar.gz -C intall_nginx_1.20.1/
5、安装nginx-1.20.1

执行命令

cd intall_nginx_1.20.1/install_nginx
sh install.sh /nginx/ nginx 365

注: sh install.sh 后参数一是安装目录 ,参数二安装用户,参数三日志保存天数

6、复制nginx配置文件

执行命令

cd /nginx/nginx-1.20.1/conf
mv nginx.conf nginx.conf20220816
mv server1.conf server1.conf20220816
mv server1-https.conf server1-https.conf20220816
cp /nginx/nginx-1.12.1/conf/nginx.conf /nginx/nginx-1.20.1/conf/
cp /nginx/nginx-1.12.1/conf/server1.conf /nginx/nginx-1.20.1/conf/
cp /nginx/nginx-1.12.1/conf/server1-https.conf /nginx/nginx-1.20.1/conf/
7、处理配置文件差异

在nginx.conf 增加指定

lua_package_path "/nginx//lj2-1.20.1/lib/lua/5.1/?.lua;;";
8、重启服务

进入老nginx进行nginx服务器停止,执行命令

cd /nginx/nginx-1.12.1
./sbin/nginx -s stop

进行新nginx,启动nginx服务,执行命令

cd /nginx/nginx-1.20.1/
./sbin/nginx -c /nginx/nginx-1.20.1/conf/nginx.conf
8、keepalived启动

若服务器有keepalived的存在,执行此步,若无则忽略此步。

根据集团部署策略,keepalived会检测nginx服务是否存活,当nginx停止服务时,keepalived也会执行service keepalived stop,停止keepalived。停止之后会断开上层虚ip的连接,即当前服务器取消竞选主备,此时另一台的keepalived若存活,则另一台会变为主设备,进行流量处理。

综上所述,停止nginx时,本服务器上的keepalived也会停止,重新nginx服务后,需要重新启动keepalived,执行命令

sudo service keepalived start

另说明,keepalived是通过/nginx/keepalived/script/chk_nginx_proxy.sh脚本进行检测nginx存活状态,并且停止keepalived的。主从配置是固定写死的,配置在/nginx/keepalived/etc/keepalived/keepalived.conf中,与重启顺序无关。当先停主,从就会变为主,处理流量,若没有启动完主,就停止从,那服务就会异常;先停从,从重启完,停止主,从会处理流量,重启完主,会恢复到主处理流量。

常见问题

1、执行安装nginx-1.20.1失败

luaJIT要求Glibc是2.14,ldd --version查看glibc版本,若小于2.14,需要进行升级,但glibc单独升级繁琐,一般都是伴随系统直接安装,建议直接lvluo申请服务器系统版本升级。

posted @ 2022-08-16 17:15  噗噗噗i丶  阅读(472)  评论(0编辑  收藏  举报