이제 젤루 중요한 geoip 데이터 파일이 있어야 합니다.
아래처럼 수동으로 받아도 좋지만 패키지 설치하시는 게 좋습니다.
자동
yum install geoip
수동
mkdir /etc/nginx/geoip
cd /etc/nginx/geoip
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
대부분 패키지 설치 하시면 /usr/share/GeoIP/GeoIP.dat 여기가 경로일 겁니다.
자 이제 설정을 해 볼까요? 2가지 입니다. 대부분...
1. nginx.conf 파일에 geoip 경로 넣기
2. fastcgi_params 파일에 해당 설정 넣기...
도시 정보는 대부분 잘 안씁니다. 정확성도 떨어지고 하니....
나라코드하고 나라이름 정도만 설정해 두세요... proxy 는 그냥 참고만 하세요.. 거의 사용 안 하실테니...
Now we configure nginx. Open /etc/nginx/nginx.conf...
nano /etc/nginx/nginx.conf
... and add the geoip_country and geoip_city directives to the http {} container:
[...]
http {
##
# Basic Settings
##
geoip_country /etc/nginx/geoip/GeoIP.dat; # the country IP database
geoip_city /etc/nginx/geoip/GeoLiteCity.dat; # the city IP database
[...]
The geoip_country directive makes the following variables available:
$geoip_country_code- two-letter country code, for example, RU, US.
$geoip_country_code3 - three-letter country code, for example, RUS, USA.
$geoip_country_name - the (verbose) name of the country, for example, Russian Federation, United States, etc.
The geoip_city directive provides the following variables:
$geoip_city_country_code - two-letter country code, for example, RU, US.
$geoip_city_country_code3 - three-letter country code, for example, RUS, USA.
$geoip_city_country_name - the name of the country, for example, Russian Federation, United States - if available.
$geoip_region - the name of region (province, region, state, province, federal land, and the like), for example, Moscow City, DC - if available.
$geoip_city - the name of the city, for example, Moscow, Washington, Lisbon, etc. - if available.
$geoip_postal_code - zip code or postal code - if available.
$geoip_city_continent_code - if available.
$geoip_latitude - latitude - if available.
$geoip_longitude - longitude - if available.
In order to make these variables available to your PHP scripts as well, we must set a few fastcgi_param directives. It is best to do this in the file /etc/nginx/fastcgi_params where the other fastcgi_param directives are:
(Make sure you have the line include /etc/nginx/fastcgi_params; in your location ~ .php$ {} container in your vhost configuration, because otherwise, the above configuration is useless for your vhost.)
If you use nginx as a reverse proxy and want to pass the GeoIP variables to the backend, you should create/edit the file /etc/nginx/proxy.conf...
(Make sure you use the line include /etc/nginx/proxy.conf; in your nginx proxy configuration because otherwise, the backend cannot use the GeoIP variables.)
자 이제 설정 다끝났습니다. nginx 하고 php-fpm 다시 시작하시면 됩니다.
예제 파일 하나 만드셔서 아래 입력 하시고 테스트 해 보세요..
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.06582 초 to webmaster... gogo sea. gogo sea.