通过yum更新,在centos 6测试系统上从1.10.x升级到1.12.x升级了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
Run Code Online (Sandbox Code Playgroud)
在我的nginx.conf文件中,我注释掉了下面这一行
include /usr/share/nginx/modules/*.conf;
Run Code Online (Sandbox Code Playgroud)
和nginx再次按预期工作.这很好,但没有解决我的问题.由于这是一个开发环境,我需要让它100%工作.我不确定在阅读规范后我真的需要图像过滤器(http://nginx.org/en/docs/http/ngx_http_image_filter_module.html).
此外,我确实添加了单个模块并运气好了:
load_module "modules/ngx_http_geoip_module.so";
Run Code Online (Sandbox Code Playgroud)
我想知道如何解决错误显示的版本问题,并知道在我想要的那个之外省略这些模块是否可以?
感谢您的时间和考虑.
小智 13
为有类似问题的人发布另一个解决方案,在我已经配置yum为查看最新版本后,在 Centos 7 上运行以下命令对我有用:
sudo yum remove nginx-mod*
sudo yum install nginx-module-*
Run Code Online (Sandbox Code Playgroud)
回滚到 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
| 归档时间: |
|
| 查看次数: |
5677 次 |
| 最近记录: |