如何在生产环境中运行的Nginx上安装Geoip2模块?

如何在生产环境中运行的Nginx上安装Geoip2模块?,nginx,debian,geoip,Nginx,Debian,Geoip,有人能给我解释一下,如何在生产环境中运行的nginx1.14上安装Geoip2模块,而不破坏当前的配置吗 我只找到在第一次安装期间如何使用geoip2模块编译Nginx的源代码 我正在使用Linux发行版Debian 10 感谢您首先安装libmaxminddb libs: 下载并解包geoip2模块: 下载nginx源代码: 然后将geoip2构建为一个动态模块: 这将生成objs/ngx_http_geoip2_module.so。如果您愿意,可以手动将其复制到nginx模块路径 例如: c

有人能给我解释一下,如何在生产环境中运行的nginx1.14上安装Geoip2模块,而不破坏当前的配置吗

我只找到在第一次安装期间如何使用geoip2模块编译Nginx的源代码

我正在使用Linux发行版Debian 10

感谢您首先安装libmaxminddb libs:

下载并解包geoip2模块:

下载nginx源代码:

然后将geoip2构建为一个动态模块:

这将生成objs/ngx_http_geoip2_module.so。如果您愿意,可以手动将其复制到nginx模块路径

例如:

cp objs/ngx_http_geoip2_module.so /etc/nginx/modules
从需要免费注册的网站获取最新数据库:

将以下行添加到nginx.conf:

添加到nginx.conf http部分:

然后重新启动Nginx服务。希望这对您有所帮助。

首先安装libmaxminddb libs:

下载并解包geoip2模块:

下载nginx源代码:

然后将geoip2构建为一个动态模块:

这将生成objs/ngx_http_geoip2_module.so。如果您愿意,可以手动将其复制到nginx模块路径

例如:

cp objs/ngx_http_geoip2_module.so /etc/nginx/modules
从需要免费注册的网站获取最新数据库:

将以下行添加到nginx.conf:

添加到nginx.conf http部分:

然后重新启动Nginx服务。希望这对你有帮助

wget https://nginx.org/download/nginx-1.14.2.tar.gz
tar zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --with-compat --add-dynamic-module=/path/to/ngx_http_geoip2_module
make
make modules
cp objs/ngx_http_geoip2_module.so /etc/nginx/modules
https://dev.maxmind.com/geoip/geoip2/geolite2/#Download_Access

Unpack dtabase files to /usr/share/GeoIP2 directory
load_module modules/ngx_http_geoip2_module.so;
geoip2 /usr/share/GeoIP2/GeoLite2-Country.mmdb {
    auto_reload 60m;
    $geoip2_metadata_country_build metadata build_epoch;
    $geoip2_data_country_code default=US source=$variable_with_ip country iso_code;
    $geoip2_data_country_name country names en;
}
geoip2 /usr/share/GeoIP2/GeoLite2-City.mmdb {
    auto_reload 60m;
    $geoip2_metadata_city_build metadata build_epoch;
    $geoip2_data_city_name default=London city names en;
}