nginx 제3자 모듈 GeoIP 와 Imagefilter

5871 단어 nginx
\ # / usr / local / nginx / sbin / nginx - V 모듈 설치 여 부 를 확인 합 니 다.
#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

좋은 웹페이지 즐겨찾기