Nginx 프로필 요약

6035 단어 linuxnginx
최상 위 설정
#   Nginx          user nginx;#    pid /var/run/nginx.pid;#         ,debug、info、notice、warn、error、criterror_log  /var/log/nginx/error.log warn;#Nginx worker     ,         CPU   。worker_processes 8;#   worker               。             (    ulimit -n)  nginx      ,   nginx         ,     ulimit -n      。worker_rlimit_nofile 65535;

시스템 파일 열기 제한 수정:
sudo sh -c ulimit -HSn 65535 //    

재 부팅 후 영구적 으로 유효 하 며, 설정 수정 이 필요 합 니 다:
sudo vim /etc/security/limits.conf

파일 끝 에 추가:
* soft nofile 200000* hard nofile 200000

이벤트 모듈
events {
    #    worker            
    worker_connections 2048;

    #  nginx                   
    multi_accept on;

    #                。     Linux 2.6+,     epoll。     *BSD,     kqueue。
    use epoll;}

HTTP 모듈
http {
    #   Nginx     ,     。
    server_tokens off;

    #          ,sendfile      Nginx     sendfile        ,         on,              IO      ,     off,         I/O     ,       。
    sendfile on;

    #          ,    。
    autoindex off;

    #   Nginx               ,          
    tcp_nopush on;

    #   Nginx       ,         --          ,            ,                      。Nginx          tcp nopush    。         sendfile on;  ,        nopush               nopush off。     200ms   ,   nodelay on;         。     sendfile on;    ,tcp_nopush   tcp_nodelay   on     。
    tcp_nodelay on;

    #      
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
    #      ,    off       ,    
    access_log /var/log/nginx/access.log main;


    #      ,    
    keepalive_timeout 120;

    #  HTTP       ,    60。                 HTTP  ,      ,         (    )              ,     ,       408 ("Request timed out")  。
    client_header_timeout 60;

    #    60。 client_header_timeout  ,            HTTP      。
    client_body_timeout 10;

    #         ,    60。 Nginx             ,                。        send_timeout       ,  Nginx        。
    send_timeout 60;

    #              RST        。       ,Nginx         ,                TCP  ,         RST   ,         ,    Nginx                  ( TCP    )。         ,              FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT   TCP  。  ,  RST              ,         。
    reset_timedout_connection off;

    #     ,               ,"zone="        ,     ,          limit_conn   。$binary_remote_addr              ,1m      32000      。
    limit_conn_zone $binary_remote_addr zone=addr:5m;

    #   key       。  key addr,       100,           IP         100   。
    limit_conn addr 100;

    #       100k。     IP        ,    IP    200K。
    limit_rate 100k; 

    #include                      。                       。nginx      ,  http      Content-Type 。         ,  nginx.conf default-type      。
    include /etc/nginx/mime.types;

    #          MIME-type
    default_type text/html;

    #    
    charset UTF-8;

    #            gz  ,            gzip   CPU    。      ,nginx               gz     ,         gz    。
    gzip_static off;  

    #   gzip   。
    gzip on;

    #        IE6    gzip  。
    gzip_disable "msie6";

    #Nginx           。   :off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any
    gzip_proxied any;

    #              ,      header   Content-Length     。       1k    ,  1k       。
    gzip_min_length 1024;

    #         。       1-9       ,9           。
    gzip_comp_level 5;

    #                 gzip        。    4 4k    4k   ,         4k    4     。      ,                       gzip    。
    gzip_buffers 4 16k;

    #           。Nginx    text/html    。
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    #         ,        ,max       ,          ,inactive                    。
    open_file_cache max=65535 inactive=30s;

    #               
    open_file_cache_valid 30s;

    #open_file_cache    inactive              ,        ,               。   Last-Modified      ,     nginx          ,  30s      ,           ,  30s        。
    open_file_cache_min_uses 2;
    #    cache  
    open_file_cache_errors on;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

SERVER 모듈
server {
    #    ,nginx        HOST         SERVER     。        server_name,             。   default_server                 。
    #listen 80;
    listen 80 default_server;

    #       ,     
    server_name www.test.com test.com;
    root /user/share/nginx/html/test;

    #404    
    error_page   404   /404.html;

    #   ssl,      。
    ssl on;
    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    location / {
        index   index.html index.php;
    }

    #        
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
        expires 10d;
    }

    #JS CSS      
    location ~ .*.(js|css)?$ {
        expires 1h;
    }

    location ~ [^/]\.php(/|$) {
        fastcgi_index   index.php;
        #   PATH_INFO   ,                     $fastcgi_script_name   $fastcgi_path_info。
        #  :   index.php/id/1        ,fastcgi_script_name   /index.php/id/1,fastcgi_path_info   。
        #    ,fastcgi_script_name   index.php,fastcgi_path_info   /id/1
        fastcgi_split_path_info ^(.+\.php)(.*)$;

        #     PHP   $_SERVER['SCRIPT_FILENAME']   
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param   PATH_INFO               $fastcgi_path_info;
        fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_path_info;

        #  FastCGI          。   PHP-FPM      。
        #fastcgi_pass   127.0.0.1:9000;
        fastcgi_pass    unix:/var/run/php5-fpm.sock;
        include fastcgi_params;
    }}

좋은 웹페이지 즐겨찾기