Nginx 프로필 상세 및 최적화

6167 단어 Nginx 최적화
대부분의 Nginx 설치 안내 서 는 apt - get 설 치 를 통 해 이곳 이나 그곳 의 몇 줄 설정 을 수정 합 니 다. 자, 웹 서버 가 있 습 니 다!그리고 대부분의 경우, 일반적인 설치 nginx 는 당신 의 사이트 에 있어 서 이미 잘 작 동 할 수 있 습 니 다.그러나 만약 당신 이 정말 nginx 의 성능 을 압출 하고 싶다 면, 당신 은 좀 더 깊이 들 어가 야 합 니 다.이 안내서 에서 나 는 Nginx 의 설정 을 미세 조정 하여 대량의 클 라 이언 트 를 처리 할 때의 성능 을 최적화 할 수 있 도록 설명 할 것 이다.주의해 야 할 것 은 이것 은 전면적 인 미조정 지침 이 아니다.이것 은 성능 설정 을 미세 조정 으로 향상 시 킬 수 있 는 간단 한 미리 보기 입 니 다.당신 의 상황 은 다 를 수 있 습 니 다.
기본 설정
우리 가 수정 할 유일한 파일 은 nginx. conf 입 니 다. 그 중에서 Nginx 의 서로 다른 모듈 의 모든 설정 을 포함 합 니 다.서버 의 / etc / nginx 디 렉 터 리 에서 nginx. conf 를 찾 을 수 있 을 것 입 니 다.우선, 우 리 는 전체 설정 에 대해 이야기 한 다음 에 파일 에 있 는 모듈 에 따라 어떤 설정 이 대량의 클 라 이언 트 가 방문 할 때 좋 은 성능 을 가 질 수 있 는 지, 왜 그들 이 성능 을 향상 시 킬 수 있 는 지 에 대해 이야기 할 것 이다.이 글 의 끝 에 완전한 프로필 이 있 습 니 다.
고 층 설정 nginx. conf 파일 에서 Nginx 의 몇몇 고급 설정 은 모듈 부분 위 에 있 습 니 다.
user www-data;
pid /usr/local/nginx/logs/nginx.pid;
worker_processes auto;  
#worker_processes    nginx    web    worder   。
#          ,  (    )CPU    、              ,
#       ,        CPU           (   “auto”        )
worker_rlimit_nofile 100000;
#  worker            。       ,           ,
#          Nginx     “ulimit -a”     ,        ,  nginx    “too many open files”   。

Events 모듈 events 모듈 에는 nginx 의 모든 처리 연결 설정 이 포함 되 어 있 습 니 다.
events {
worker_connections 2048;
#worker_connections      worker            ,
#          worker_rlimit_nofile,            。
multi_accept on;
#multi_accept   nginx                   
use epoll;
#use                 ,
#     Linux 2.6+,     epoll。     *BSD,     kqueue
}

HTTP 모듈 HTTP 모듈 은 nginx http 처리 의 모든 핵심 기능 을 제어 합 니 다.여 기 는 아주 적은 설정 만 있 기 때문에 우 리 는 설정 의 일부분 만 선택 합 니 다.이 모든 설정 은 http 모듈 에 있어 야 합 니 다. 심지어 이 설정 에 특별히 주의 하지 않 을 것 입 니 다.
http {
server_tokens off;
#server_tokens     nginx       ,             nginx    ,
#            
sendfile on;
#sendfile   sendfile()    。sendfile()      TCP socket        (          ),Pre-#sendfile                   ,   read()              ,write()      
#    ,sendfile()           OS  ,             ,
#sendfile()    read() write() #             
tcp_nopush on;
#tcp_nopush   nginx              ,          
tcp_nodelay on;
#tcp_nodelay   nginx      ,         –          ,
#            ,                      
access_log off;
#access_log  nginx         。             IO    (aka,YOLO)
error_log /var/log/nginx/error.log crit;
#      :          [debug | info | notice | warn | error | crit | alert | emerg],          # ,        warn | error | crit        
#error_log   nginx         
keepalive_timeout 10;
#keepalive_timeout       keep-alive      ,                 ,
#           ngnix         
client_header_timeout 10;
client_body_timeout 10;
#client_header_timeout  client_body_timeout          (  )     ,
#            
reset_timedout_connection on;
#reset_timeout_connection  nginx           。                  
send_timeout 10;
#send_timeout             。             ,              ,
#        ,           ,nginx      
limit_conn_zone $binary_remote_addr zone=addr:5m;
#limit_conn_zone        key(       )        。5m  5   ,               (32K*5)32byte    (16K*5)64byte  
limit_conn addr 100;
#limit_conn    key       。  key addr,       100,           IP         100   
include       mime.types;
default_type  application/octet-stream;
charset UTF-8;
#charset                
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
 #FastCGI              :      ,      。             。
gzip on;
#gzip   nginx  gzip         。             
gzip_disable "msie6";
#gzip_disable         gzip  。     IE6                   
gzip_proxied any;
#gzip_proxied                   。     any,            
gzip_min_length 1k;
#gzip_min_length               。        1000  ,
#         ,                          
 gzip_buffers 4 16k;
 #     
gzip_comp_level 2;
#gzip_comp_level         。       1-9       ,9           ,
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
#gzip_type           。           ,            

 open_file_cache max=100000 inactive=20s;
 #open_file_cache                 ,       ,
 #                ,              20     
 open_file_cache_valid 30s;
 #open_file_cache_valid  open_file_cache              
 open_file_cache_min_uses 2;
 #open_file_cache_min_uses    open_file_cache                   
 open_file_cache_errors on;
 open_file_cache_errors                   ,             ,
 #           ,            。               ,                
}

완전한 설정
user www-data;
pid /usr/local/nginx/logs/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 100000;

events {
    worker_connections 51200;
    multi_accept on;
    use epoll;
}

http {
    server_tokens off;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;

    access_log off;
    error_log /var/log/nginx/error.log crit;

    keepalive_timeout 60;
    client_header_timeout 10;
    client_body_timeout 10;
    reset_timedout_connection on;
    send_timeout 10;

    limit_conn_zone $binary_remote_addr zone=addr:5m;
    limit_conn addr 100;

    include mime.types;
    default_type mime.types;
    charset UTF-8;
    
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 256k;

    gzip on;
    gzip_disable "MSIE [1-6]\.";
    gzip_buffers    4 16k;
    gzip_proxied any;
    gzip_min_length 1k;
    gzip_comp_level 2;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    open_file_cache max=100000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

########                   #####
    include /usr/local/nginx/conf/vhost/*.conf;
    #include /us/nginx/sites-enabled/*;
}

... 에서 오다https://m.chinaz.com/mip/article/401323.shtml

좋은 웹페이지 즐겨찾기