linux Centos安装nginx时 支持通过GeoIP屏蔽国外ip安装及配置方法
1、长话短说,依次执行以下命令
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2、直接下载.tar.gz安装包,
地址:https://nginx.org/en/download.html 选 Stable version 中间的 链接
可以通过 wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
或者先下载到本地,然后用 Put 上传到服务器
3、对压缩包解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
-------GeoIP安装依赖项-------
a、通过 执行 yum search GeoIP 查找GeoIP相关包
先用 yum 查找 'GeoIP' 库,知道存在包 `GeoIP-devel.x86_64` 需要安装
b、执行 yum install -y GeoIP-devel.x86_64 安装GeoIP
--------------------
4、配置nginx
其实在 nginx-1.12.0 以后版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。
1.使用默认配置
./configure
2.如果nginx 需要支持https
./configure --prefix=/usr/local/nginx --with-http_ssl_module
如果ngInx 需要支持https 又要支持GeoIP,则执行以下操作
./configure --prefix=/usr/local/nginx --with-http_ssl_module --prefix=/usr/local/nginx --with-http_geoip_module
3.自定义配置(不推荐)
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注:将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
5、编译安装
make
make install
5.1 执行 :/usr/local/nginx/sbin/nginx -V
如果提示:configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
则表示 nginx 已支持https
如果返回内容带GeoIP 字样,则表示已支持GeoIP
5.2、GeoIP配置
在nginx.conf http {} 中增加以下配置
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default no; #默认都拒绝
CN yes; #允许中国
TW yes; #允许台湾,台湾也是中国的
HK yes; #中国香港
MO yes; #中国澳门
}
在站点server中添加以下配置
#判断是不是在拦截范围,是直接403,不让访问了
if ($allowed_country = no) {
return 403;
}
6、启停nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
<a href="http://r4.com.cn/art232.aspx">linux Centos安装nginx时 支持通过GeoIP屏蔽国外ip安装及配置方法</a>