nginx 제3자 모듈 GeoIP 와 Imagefilter
5871 단어 nginx
#cd 원본 코드 로 디 렉 터 리 컴 파일 하기
./configure --help | grep image_filter
각 모듈 압축 해제 다운로드
다운로드 주소
https://github.com/openresty/lua-nginx-module/archive/v0.10.10.tar.gz
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
yum install lua-devel
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_geoip_module --with-stream=dynamic --with-http_stub_status_module --add-module=/root/ngx_cache_purge-2.3 --with-http_image_filter_module -- add - module = / 제3자 모듈 경로
컴 파일 통과 make install 안 해도 돼 요.
make
\ # 원래 nginx 이름 바 꾸 기
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
\ # 컴 파일 된 복사 과거 (원본 디 렉 터 리 에서 압축 해제)
cp /objs/nginx /usr/local/nginx/sbin/nginx
\ # 다시 시작 nginx
/ usr / local / nginx / sbin / nginx - V 모듈 이 컴 파일 되 었 는 지 확인 합 니 다.
\ # 다운로드 한 geoip 의 데이터베이스 두 개 를
mkdir /usr/local/nginx/geoip
mv *dat /usr/local/nginx/geoip
geoip
image_filter
그림 필터
#load_module modules/ngx_stream_module.so; # ,
user nginx nginx;
#4
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000
#8
#worker_processes 8;
#worker_cpu_affinity 00000001 00000010 00000100 0000100000010000 00100000 01000000 10000000;
# nginx , (ulimit -n) nginx ,
# nginx , ulimit -n 。
worker_rlimit_nofile 65535;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 65535;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
#
sendfile on;
tcp_nopush on;
# end
#
keepalive_timeout 60; # , ,
tcp_nodelay on; # , keepalived
client_header_buffer_size 4k; # , , 1k, 1k, 。 getconf PAGESIZE 。
open_file_cache max=102400 inactive=20s; # , ,max ,
# ,inactive 。
open_file_cache_valid 30s; # 。
open_file_cache_min_uses 1; #open_file_cache inactive , ,
# , , inactive , 。
client_header_timeout 15; # 。 , ,nginx request time out
client_body_timeout 15; # 。 , ,
reset_timedout_connection on; # nginx 。 。 time out
send_timeout 15; # , , , ,nginx
server_tokens off; # nginx , nginx , 。
client_max_body_size 10m;
# end
#fastcgi
fastcgi_buffering on; # on, fastcgi
fastcgi_connect_timeout 600s; # FastCGI 。
fastcgi_send_timeout 600s; # FastCGI 。
fastcgi_read_timeout 600s; # FastCGI 。
fastcgi_buffer_size 64k; # FastCGI , fastcgi_buffers , 。
fastcgi_buffers 4 64k; # FastCGI , php 256KB, 4 64KB ,
# 256KB, 256KB fastcgi_temp_path , , 。
# php , 256KB, “8 32K”、“4 64k” 。
fastcgi_busy_buffers_size 128k; # fastcgi_buffers , buffer
fastcgi_temp_file_write_size 128k; # fastcgi_temp_path , fastcgi_buffers , 502BadGateway
fastcgi_temp_path fastcgi_temp 1 2; #
fastcgi_intercept_errors on; # 4xx 5xx , nginx error_page 。
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=fastcgi_cache_zone:128m inactive=1d max_size=10g;
#fastcgi_cache , , 1:2 16*256 ,cache_fastcgi ,cache ( nginx , ),
#inactive , , ,max_size 。
#fastcgi end
#gzip
gzip on; #
gzip_min_length 2k; # , header Content-Length , 0, , 1K, 1K 。
gzip_buffers 4 32k; # , 4 32K , gzip 。
gzip_http_version 1.1; # , HTTP , 1.1, GZIP ,
gzip_comp_level 6; ; # , GZIP ,1 , ,9 , , , CPU 。
gzip_typestext/plain text/css text/javascriptapplication/json application/javascript application/x-javascriptapplication/xml; # ,‘text/html’ 。
gzip_disable "MSIE[1-6]"; #ie 1-6 gzip
gzip_vary on; #varyheader , GZIP , Squid nginx
gzip_proxied any;
#gzip end
#geoip
geoip_country /usr/local/nginx/geoip/GeoIP.data;
geoip_city /usr/local/nginx/geoip/GeoLiteCity.dat;
#
log_format ip_log '$geoip_city_country_name $geoip_region_name $geoip_city';
#geoip end
}
nginx-lua
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.