一、Nginx简介
Nginx(engine x)是一个免费的、开源的、高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
Nginx的特点是:占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用Nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
二、GeoIP2简介
GeoLite2 数据库由几部分组成:GeoLite2 国家库、GeoLite2 城市库和 Geolite2 ASN。他们分别满足不同的功能,GeoLite2 国家库仅能查询 IP 地址所在的国家和洲;GeoLite2 城市库可以查询到 IP 地址所在的国家、地区、城市、经纬度和邮政编码等信息;Geolite2 ASN 用于查询IP地址所属的自治域 AS 或者运营商 ISP。
GeoLite2 离线数据库每月更新一次,可以通过官方网站下载 MaxMind DB 格式的压缩文件。MaxMind 提供支持 7 种编程语言或软件的 API 支持,包括 C#、C、Java、Perl、PHP、Python、Apache(mod_maxminddb)。还有许多第三方 API 支持更多种编程语言或软件。GeoLite2 支持包括英语、汉语、俄语、日语和西班牙语等在内的多种语言。
三、安装libmaxminddb
官方下载地址:https://github.com/maxmind/libmaxminddb/releases
1.下载libmaxminddb安装包
wget https://github.com/maxmind/libmaxminddb/releases/download/1.7.1/libmaxminddb-1.7.1.tar.gz
2.解压
tar xf libmaxminddb-1.7.1.tar.gz
3.预编译
cd libmaxminddb-1.7.1
./configure
4.编译及安装
make && make install
5.配置动态库
echo "/usr/local/lib" >> /etc/ld.so.conf
6.加载动态库
ldconfig
四、下载GeoIP2模块
官方下载地址:https://github.com/leev/ngx_http_geoip2_module/releases
1.这里下载3.4版本
cd ~ && wget https://github.com/leev/ngx_http_geoip2_module/archive/refs/tags/3.4.tar.gz
tar xf 3.4.tar.gz -C /usr/local
五、安装GeoIP2模块的Country和City数据库
官方下载地址:https://www.maxmind.com
1、登录maxmind,登录成功后选择Download Files下载
2、这里下载2023-05-05最新版本
六、安装Nginx
官方下载地址:http://nginx.org/en/download.html
1、下载Nginx软件包
wget -c http://nginx.org/download/nginx-1.24.0.tar.gz
2、解压
tar xf nginx-1.24.0.tar.gz
3、预编译&&编译
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-stream --with-pcre --with-http_gzip_static_module --with-http_realip_module --add-module=/usr/local/ngx_http_geoip2_module-3.4
make