(재 컴 파일) 새로 나 온 nginx SRPM 패키지

오늘 nginx 의 srpm 패 키 지 를 만 들 었 습 니 다. 주로 nginx 컴 파일 파 라 메 터 를 간소화 하고 자주 사용 하지 않 는 mail, ipv 6 등 모듈 을 제거 하 며 제3자 모듈 gperftools, GeoIP, nasxi, nginx 를 통합 하 였 습 니 다.upstream_hash、ngx_cache_purge。기본 설정 파일 은 lnmp 나 부하 균형 에 더욱 적합 합 니 다.
      gperftools 는 구 글 의 성능 최적화 패키지 로 tcmalloc 라 이브 러 리 를 이용 하여 nginx 의 메모리 사용 효율 을 높 일 수 있 습 니 다.
     GeoIP 는 지리 적 위치 정보 라 이브 러 리 입 니 다.
       nasxi 는 nginx 를 위 한 고성능 웹 응용 방화벽 으로 apache 와 유사 한 modsecurity, XSS 크로스 오 버 스테이션 * * * 와 sql 주입 을 효과적으로 방지 할 수 있 습 니 다.
       nginx_upstream_hash 는 nginx 부하 균형 알고리즘 으로 백 엔 드 가 캐 시 시스템 (squid / varnish / memcached 등) 일 때 캐 시 명중률 과 캐 시 품질 을 크게 향상 시 킬 수 있 습 니 다.
       ngx_cache_Purge 는 nginx 가 캐 시 서버 일 때 nginx 자체 캐 시 를 제거 하 는 모듈 입 니 다.
 
컴 파일 방법 설치 (epel 창고 의존)
   
   
   
   
  1. yum groupinstall "development tools" -y 
  2. yum install GeoIP-devel gperftools-devel zlib-devel pcre-devel openssl-devel --enablerepo=epel -y 
  3.  
  4. rpm -ivh nginx-1.2.8.excel.src.rpm    
  5. cd ~/rpmbuild/SPEC    
  6. rpmbuild -bp nginx.spec    
  7. rpmbuild -ba nginx.spec    
  8. rpm -ivh ~/rpmbuild/RPMS/x86_64/nginx-1.2.8-1.el6.excel.x86_64.rpm  

의존 가방 이 부족 하면 알림 에 따라 직접 yum 로 설치 합 니 다. 
 
컴 파일 매개 변수 
   
   
   
   
  1. # nginx -V 
  2. nginx version: nginx/1.2.8 
  3. built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) 
  4. TLS SNI support enabled 
  5. configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_geoip_module --with-http_sub_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-google_perftools_module --add-module=/root/rpmbuild/BUILD/nginx-1.2.8/naxsi-core-0.50/naxsi_src --add-module=/root/rpmbuild/BUILD/nginx-1.2.8/nginx_upstream_hash --add-module=/root/rpmbuild/BUILD/nginx-1.2.8/ngx_cache_purge --with-file-aio --with-cc-opt='-O2 -g' 

 
gperftools 사용법 설정 파일, 검사 방법 참조
   
   
   
   
  1. lsof -n |grep tcmalloc 

 
설정 파일
 
nginx_upstream_hash 용법
   
   
   
   
  1. upstream backend {   
  2.     server 127.0.0.1:81  
  3.     server 127.0.0.1:82  
  4.     ...  
  5.     hash    $request_uri;   
  6.     hash_method  crc32;  
  7.     hash_again  10;          # default 0   
  8.     }   


메모: server 문 구 는 weight 등 다른 매개 변 수 를 쓸 수 없습니다. 이 유 는 첫 번 째 참고 글 을 참조 하 십시오.
 
ngx_cache_purge 사용법
   
   
   
   
  1. http { 
  2.     proxy_cache_path  /tmp/cache  keys_zone=tmpcache:10m; 
  3.  
  4.     server { 
  5.         location / { 
  6.             proxy_pass         http://127.0.0.1:8000; 
  7.             proxy_cache        tmpcache; 
  8.             proxy_cache_key    $uri$is_args$args; 
  9.         } 
  10.  
  11.         location ~ /purge(/.*) { 
  12.             allow              127.0.0.1; 
  13.             deny               all; 
  14.             proxy_cache_purge  tmpcache $1$is_args$args; 
  15.         } 
  16.     } 

 
접미사 이름 제한, 첨부 파일 다운로드 후 바로. zip 접미사 제거
 
참고 문장 
http://www.sudone.com/nginx/nginx_url_hash.html
https://github.com/evanmiller/nginx_upstream_hash
https://github.com/FRiCKLE/ngx_cache_purge/
https://github.com/tilo/nginx-rpm/blob/master/nginx.spec
https://code.google.com/p/naxsi/wiki/Howto#Installing_nginx_+_naxsi
 
 

좋은 웹페이지 즐겨찾기