보탑 기본 바 이 너 리 컴 파일 nginx configure 파일 이 없 는 GeoIP 2 설치 방법
# nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
built with OpenSSL 1.0.2r 26 Feb 2019
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --add-module=/www/server/nginx/src/nginx-http-concat --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-pcre=pcre-8.42 --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc
--prefix=/www/server/nginx
2. GeoIP 를 로 컬 로 다운로드
# cd /usr/local/
# wget https://github.com/leev/ngx_http_geoip2_module/archive/3.2.tar.gz
# tar zxvf 3.2.tar.gz
나의 최종 경 로 는?
/usr/local/ngx_http_geoip2_module-3.2
3. 보탑 기본 ngix. sh 파일 위치
#cd /www/server/panel/install/
#vi nginx.sh
제 버 전 은 1.14 입 니 다. 이 부분 을 수정 하 겠 습 니 다.
elif [ "${version}" == "1.14" ] || [ "${version}" == "1.12" ] || [ "${version}" == "1.16" ] || [ "${version}" == "1.10" ]; then
./configure --user=www --group=www --prefix=${Setup_Path} --with-openssl=${Setup_Path}/src/openssl --add-module=${Setup_Path}/src/ngx_devel_kit --add-module=${Setup_Path}/src/lua_nginx_module --add-module=${Setup_Path}/src/ngx_cache_purge --add-module=${Setup_Path}/src/nginx-sticky-module --add-module=${Setup_Path}/src/nginx-http-concat --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt="-Wl,-E" --with-pcre=pcre-${pcre_version} --with-cc-opt="-Wno-error" ${jemallocLD}
그래서
./configure --user=www --group=www --prefix=${Setup_Path}
뒤에 추 가 된 것 은
--add-module=/usr/local/ngx_http_geoip2_module-3.2
4. 추가 완료 후 ZZ 저장 후 실행 * 주의 매개 변 수 는 1.14 이 며, 1.14.2 가 아 닌 실제 필요 한 버 전에 따라 코드 에 해당 하 는 매개 변 수 를 읽 고 수정 합 니 다.
# sh /www/server/panel/install/nginx.sh install 1.14
5. GeoIP 데이터베이스 GeoLite 도시 라 이브 러 리 및 국가 라 이브 러 리 다운로드 (이 라 이브 러 리 는 IP 주 소 를 구체 적 인 주소 정보 로 번역 하기 위 한 것 입 니 다)
#mkdir /data/geoip
#cd /data/geoip
wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz
gunzip GeoLite2-City.mmdb.gz
gunzip GeoLite2-Country.mmdb.gz
6. Nginx 설정 수정 http 에 추가
http {
geoip2 /data/geoip/GeoLite2-Country.mmdb {
$geoip2_data_country_code default=CN country iso_code;
$geoip2_data_country_name country names en;
}
geoip2 /data/geoip/GeoLite2-City.mmdb{
$geoip2_data_city_name default=Shenzhen city names en;
}
7. server location 에 대응 하 는 지 테스트 할 때 rewrite 로 인 자 를 추가 하거나 if 로 방문 디 렉 터 리 를 바 꿀 수 있 습 니 다.
server {
location / {
add_header geoip2_data_city_name $geoip2_data_city_name;
rewrite ^/api/?type=geoip /api/?type=$arg_type&city=$geoip2_data_city_name? permanent;
if ($geoip2_data_country_code = US){
root /data/webroot/us;
}
}
}
source: https://www.bt.cn/bbs/thread-16118-1-1.html https://github.com/leev/ngx_http_geoip2_module/releases https://yq.aliyun.com/articles/694355?spm=a2c4e.11155472.0.0.7b5b6ce2wtTeVP
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.