【发布时间】:2021-10-27 22:52:12
【问题描述】:
尝试将 geoIP 添加到我的 nginx 服务器,但由于某种原因它无法正常工作,我似乎无法弄清楚为什么不这样做。 如果我尝试在配置文件中添加与 geoip_country 相关的任何内容,我会在 /etc/nginx/nginx.conf 中收到错误 [emerg] unknown directive "geoip_country"
在 Ubuntu 18.04.5 LTS 上运行 Nginx 1.21.1。
nginx -V 显示 --with-http_geoip_module=dynamic 在我的 nginx.conf 文件中,我有 load_module /etc/nginx/modules-enabled/ngx_http_geoip2_module.so;
【问题讨论】:
-
http_geoip2_module和http_geoip_module是不同的模块。 -
你说得对,Richard,所以我用 --add-dynamic-module=../ngx_http_geoip2_module 重新编译它并复制新的 .so 文件并加载它。没有运气。然后我尝试用 geoip2 编译它作为静态模块 --add-module=/home/ngx_http_geoip2_module - 当我运行 nginx -t 时仍然抱怨未知指令“geoip_country”
-
geoip_country不是http_geoip2_module的指令 -
现在说得通了,这是我的 nginx 文件中旧的 geoip 模块遗留下来的。不知道它不是 geoip2 的一部分。感谢您帮助清理它,现在设法让它工作。
标签: nginx nginx-config