当前位置:   article > 正文

linux下nginx的不间断升级(nginx-module版本不匹配修正ngx_http_xslt_filter_module.so“ version 1020001 instead of 102)_因重装nginx导致的配置文件不匹配已修正

因重装nginx导致的配置文件不匹配已修正

前段时间,负责的课题组网站发现有一些漏洞,升级nginx比较好修,所以下面记录一下nginx的不间断升级以及升级后nginx-module版本不匹配的问题。

现在已经有很多blog来讲这个事情,但是流程有的缺失,有的默认一次成功忽略问题,因此这里把整个流程都写下来,希望能够帮助到各位!

linux下nginx的不间断升级

1. 检查当前版本,并下载安装包

a) 首先利用语句nginx -v来查看当前的版本信息。并且利用nginx -V来获得当前nginx重要文件的路径,如配置文件,log文件的路径
在这里插入图片描述
b) 前往nginx官网下载最新的稳定版本。下载之后是tar.gz文件,将其传到linux服务器中,并进行解压。
在这里插入图片描述

2. 新版本的配置编译

a) 进入解压后的文件夹,运行./configure "str", 其中的str指的是nginx -V返回出来的配置
b) 配置完成后,执行make
在这里插入图片描述

3. 旧版本的备份

a) 需要备份的数据为nginx -V返回的–conf-path=后面地址中的数据,以及usr/sbin/nginx文件。直接利用mv语句,mv /usr/sbin/nginx /usr/sbin/nginx.old, 将nginx备份为nginx.old就可以实现
在这里插入图片描述

4. nginx的替换

a) 在编译后的新版本文件夹里,存在objs文件夹,在其中需要将nginx替换到sbin中的nginx,运行下面的命令cp objs/nginx /usr/sbin/nginx

5. 检验是否有效

a) 运行/usr/sbin/nginx -t, 如果输出successful,那么成功,接下来进行第6步,关闭以前版本的nginx, 启动最新版本的nginx; 如果不成功,看第二大部分“版本不匹配的修正”
在这里插入图片描述

6. nginx的替换与重启

a) 运行/usr/sbin/nginx.old -s stop 来关闭旧版本的nginx
b)运行/usr/sbin/nginx 来开启版本的nginx
c) 打开你的网站,如果打不开的话,进行service nginx restart进行重启,就可以打开网站了

nginx-module版本不匹配修正

1. 问题描述

a) 我们在进行nginx升级后,可能会遇到module和nginx不匹配的问题。如下报错:[emerg] 10575#10575: module “/usr/share/nginx/modules/ngx_http_xslt_filter_module.so” version 1020001 instead of 1024000 in /etc/nginx/modules-enabled/50-mod-http-xslt-filter.conf:1
在这里插入图片描述
这个问题实际上是升级后的nginx与module不匹配导致的。

2. 修正过程

b)解决的方案很简单,我们将obj中的module文件都复制到报错的这个路径下/usr/share/nginx/modules/, 替换这个路径下的module文件,然后运行/usr/sbin/nginx -t,即可成功
其中绿色的.so文件利用cp语句进行复制替换
其中绿色的.so文件利用cp语句进行复制替换

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号