Nginx在/usr/share/nginx/modules/mod-http-image-filter.conf中失败了测试版1010002而不是1012000

时间:2017-04-21 19:13:30

标签: nginx

通过yum update,在1.10.x到1.12.x的centos 6测试系统上升级nginx。然后我按照步骤使GeoIP模块工作(https://tushev.org/articles/linux-bsd/32/using-dynamic-geoip-module-with-nginx-centos)。

当我运行nginx -t时,会显示以下错误:

$ nginx -t
nginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_image_filter_module.so" version 1010002 instead of 1012000 in /usr/share/nginx/modules/mod-http-image-filter.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

在我的nginx.conf文件中,我注释掉了下面的一行

include /usr/share/nginx/modules/*.conf;

和nginx再次按预期工作。这太棒了,但没有解决我的问题。由于这是一个开发环境,我需要让它100%工作。我不确定在阅读规范(http://nginx.org/en/docs/http/ngx_http_image_filter_module.html)之后我真的需要图像过滤器。

此外,我确实添加了单个模块,但也很幸运:

load_module "modules/ngx_http_geoip_module.so";

我想知道如何解决错误显示的版本问题,并知道在我想要的那个之外省略这些模块是否合适?

感谢您的时间和考虑。

6 个答案:

答案 0 :(得分:1)

回滚到1.10.2。 nginx: [emerg] module "/etc/nginx/modules/ngx_http_geoip_module.so" version 1010002 instead of 1013002 in /etc/nginx/nginx.conf:12 nginx version: nginx/1.13.2

答案 1 :(得分:1)

我发现我需要删除所有以前与nginx相关的文件rm -rf /etc/nginx,然后在另一个make install之后检查所有内容。

答案 2 :(得分:0)

我刚刚备份了我的.conf文件,然后卸载并重新安装了nginx,它已修复。

答案 3 :(得分:0)

万一有人遇到相同的问题,我邀请他按照以下步骤解决兼容性问题:

在制作模块ngx_http_modsecurity_module.so之前,需要先将其加载 /etc/nginx/nginx.config下的nginx.conf配置文件。

load_module modules/ngx_http_modsecurity_module.so;

  1. 根据您预先安装的nginx进行版本检查
  2.  `$ nginx -v`
    就我而言   `nginx版本:nginx / 1.15.10`
  3. 下载相同版本
  4.  `$ wget http:// nginx.org / download / nginx-1.15.10.tar.gz`
  5. $ tar zxvf nginx-1.15.10.tar.gz
  6. $ cd nginx-1.15.10
  7. $ ./configure --with-compat --add-dynamic-module = / path_to_your / modsecurity-nginx-connector
  8. $ cp objs / ngx_http_modsecurity_module.so / etc / nginx / modules
  9. 在`user`指令后
  10. 将模块添加到/etc/nginx/nginx.conf文件的开头。 `load_module modules / ngx_http_modsecurity_module.so;`
  11. $ nginx -t
  12. `nginx:配置文件/etc/nginx/nginx.conf的语法是可以的
    nginx:配置文件/etc/nginx/nginx.conf测试成功

并继续该过程...如此处nginx.org所述 希望对我有帮助。

答案 4 :(得分:0)

为遇到类似问题的人发布另一种解决方案,在我configured yum to look to the latest version之后,在Centos 7上运行以下以下命令对我有用:

sudo yum remove nginx-mod*
sudo yum install nginx-module-*

Here are some more details

答案 5 :(得分:0)

我的问题是

sudo nginx -t
2021/07/22 16:54:54 [emerg] 2637399#2637399: module "/usr/lib/nginx/modules/ngx_http_geoip2_module.so" version 1020001 instead of 1020000 in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

这意味着我的 ngx_http_geoip2_module 模块版本与我的 Nginx 版本不匹配。 由于我刚刚安装了 ngx_http_geoip2_module 最新版本,所以必须是我的 Nginx 版本需要更新。

升级 Nginx 版本解决了我的问题