nginx 메 인 프로필 상세 및 최적화

1. 방향 최적화
1)worker_processes 8;
nginx 프로 세 스 수 는 cpu 수 에 따라 지정 하 는 것 을 권장 합 니 다. 일반적으로 배수 입 니 다.
2)worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
프로 세 스 마다 cpu 를 할당 합 니 다. 8 개의 프로 세 스 를 8 개의 cpu 에 할당 합 니 다. 물론 여러 개 를 쓰 거나 하나의 프로 세 스 를 여러 cpu 에 할당 할 수 있 습 니 다.
3)worker_rlimit_nofile 102400;
이 명령 은 nginx 프로 세 스 가 열 린 가장 많은 파일 설명자 수 를 말 합 니 다. 이론 적 값 은 최대 열 린 파일 수 (ulimit - n) 와 nginx 프로 세 스 수 를 제외 해 야 합 니 다. 그러나 nginx 배분 요청 이 고 르 지 않 기 때문에 ulimit - n 의 값 과 일치 하 는 것 이 좋 습 니 다.
4)use epoll;
epoll 의 I / O 모델 사용 하기
5)worker_connections 102400;
모든 프로 세 스 가 허용 하 는 최대 연결 수, 이론 적 으로 모든 nginx 서버 의 최대 연결 수 는 worker 입 니 다.processes*worker_connections。
6)keepalive_timeout 60;
keepalive 시간 초과.
7)client_header_buffer_size 32k;
클 라 이언 트 가 머리 에 있 는 버퍼 크기 를 요청 합 니 다. 이것 은 시스템 페이지 크기 에 따라 설정 할 수 있 습 니 다. 보통 요청 한 머리 크기 는 1k 를 초과 하지 않 지만 일반 시스템 페이지 는 1k 이상 이 어야 하기 때문에 페이지 크기 로 설정 합 니 다.페이지 크기 는 명령 getconf PAGESIZE 로 가 져 올 수 있 습 니 다.
8)open_file_cache max=102400 inactive=20s;
이것 은 파일 을 열기 위 한 캐 시 를 지정 합 니 다. 기본 값 은 사용 되 지 않 았 습 니 다. max 는 캐 시 수량 을 지정 합 니 다. 파일 을 여 는 것 과 일치 하 는 것 을 권장 합 니 다. inactive 는 얼마 동안 파일 이 요청 되 지 않 은 후 * * 캐 시 를 말 합 니 다.
9)open_file_cache_valid 30s;
이것 은 캐 시 를 얼마나 자주 검사 하 는 지 에 대한 유효한 정 보 를 말한다.
10)open_file_cache_min_uses 1;
open_file_cache 명령 의 inactive 매개 변 수 는 시간 내 에 파일 의 최소 사용 횟수 입 니 다. 이 숫자 를 초과 하면 파일 설명 자 는 캐 시 에서 열 려 있 습 니 다. 예 를 들 어 inactive 시간 내 에 한 번 도 사용 되 지 않 으 면 삭 제 됩 니 다.
11)gzip_types
gzip 를 사용 하여 정적 파일 을 압축 하여 네트워크 대역 폭 을 줄 이 고 전송 속 도 를 증가 합 니 다.
2. 프로필 상세 설명:
#user  www www;
#       cpu  ,         nginx       ,       server cpu  ( cpu   ) 2 。                   ,         I/O        。
worker_processes  8;
pid        logs/nginx.pid;
error_log  logs/error.log;
#    worker_process              ,          ,                    ,        502  
worker_rlimit_nofile 10240;

#         ,           ,    nginx   
events {
    #linux      2.6   ,   epoll    ,  select      。     :
    1,         fd             2,         ,         socket "  " , select/poll               (    ),          。  epoll       ,    "  " socket    ---          epoll     fd   callback     ,  fd        ,     。  ,  "  " socket       callback  ,  idle   socket   。
    use epoll;

    #    worker_process            
    worker_connections  10240;
}

http {
    #mime.types      web        MIME  ,          ,      。MIME TYPE                   。
    include       mime.types;
    #          MIME  , nginx          MIME   ,            “       ”
    default_type  application/octet-stream;

    #  log   ,    nginx                         。        log   ,   log        ,                   。
    log_format  main '"$time_local","$remote_addr","$http_x_forwarded_for","$http_host","$request","$http_referer","$http_user_agent","$upstream_http_x_s_m","$cookiesize","$http_x_sohupassport_userid","$status","$cookie__smuid","$request_time","$body_bytes_sent","$upstream_addr","$upstream_status","$upstream_response_time","$http_accept","$http_q_ua","m-nginx-94"';

    log_format  hz_main  '"[$time_local]","$remote_addr","$http_x_forwarded_for","$http_x_sohupassport_userid","$request","$request_length","$request_time","$body_bytes_sent","$status","$http_referer","$http_user_agent","$uid","$fr","$upstream_addr","$upstream_status","$upstream_response_time","m-nginx-94"';

    ##########        :    nginx    tcp_cork,         ,    send_file    ,         ,     tcp_close  tcp_shutdown(  linger_timeout)     ,      (   keepalived    0)   ,     buf          ,  ,        tcp_cork,           ,           。
    #  sendfile()  。sendfile()                       .             ,    "   ".sendfile    read write      ,  read write               .
    sendfile        on;

    #           FreeBSD TCP_NOPUSH,   Linux TCP_CORK   ,    sendfile        。
    tcp_nopush     on;
    #          ,        ,               ,     IO     ,               。  ,               ,       ,     web             ,           ,   nginx       。
    tcp_nodelay on; 
    #                 ,                 ,              nginx      。   0          ,        。
    keepalive_timeout  0;

    #  gzip    ,              ,         ,         。
    gzip  on;
    #            。      1024  ,  1K        
    gzip_min_length  1000;
    #                 gzip       。    :         16K    4         。       ,                       gzip     。
    gzip_buffers     4 16k;
    #              
    gzip_types       text/* text/css text/vnd.wap.wml application/javascript application/x-javascript
    application/xml application/xhtml application/xhtml+xml application/wml application/action;
    #     ,  1-9,     ,       
    gzip_comp_level  9;
    #nginx           ,          headers       ,        
    gzip_proxied     any;
    #  http     ,  1.1     ,           http        gzip  
    gzip_http_version 1.1;
    #  IE1-6     gzip  ,       
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    #gzip_vary     http       “Vary: Accept-Encoding”,                 ,                  Vary          。
    gzip_vary on;
    #  nginx           ,              。    :         32K    4         。
    output_buffers   4 32k;
    # nginx           1460     ,         ,    
    postpone_output  1460;
    #       ( server_name     )       ,       server_name    。                 ,         (32)   ,        key     ,        。
    server_names_hash_bucket_size 128;
    #          Header       ,  1kb   
    client_header_buffer_size 32k;
    #  nginx                ,      Header       Content-Lenth    。             ,nginx   “Request Entity Too Large”     (HTTP 413   )
    client_max_body_size 8m;
    #        Header      ,   4K。                 ,   Header              ,    "Request URI too large"(414) “Bad request”(400)  。      Cookie    ,         
    large_client_header_buffers 4 256k;
    #  nginx       Header        ,            ,nginx   "Requet time out"    (HTTP 408   )
    client_header_timeout  1m;
    #  nginx              ,            ,nginx   "Request time out"    (HTTP   408)
    client_body_timeout    1m;
    #               。   tcp  ,     established     。      ,       ,Nginx     
    send_timeout           1m;

    #     nginx     HTTP    400        。on  ,nginx    error_page            ,                     error_page  ,        。
    proxy_intercept_errors on;

    secret    /opt/apps/wcms2_0/conf/secret.key;

    #      ,          , :"include extra/*.conf" 
    include       extra/upstreamA.conf;
    include       extra/upstreamOther.conf;
    include       extra/upstreamTest.conf;
    include       extra/m.sohu.com.conf;
    include       extra/ucweb.m.sohu.com.conf;
    include       extra/a.m.sohu.com.conf;
    include       extra/b.m.sohu.com.conf;
    include       server-status.conf;
    include       extra/uc.m.sohu.com.conf;
    include       extra/hz.m.sohu.com.conf;
    include       extra/2012.m.sohu.com.conf;
}

좋은 웹페이지 즐겨찾기