내가 놓쳤을 수도 있는 Nginx 일반 구성

내가 놓쳤을 수도 있는 Nginx 일반 구성

최근에 Apache Mod_wsgi에서 Nginx로 옮겼는데 속도가 크게 향상되고 메모리 사용량이 감소하는 것을 확인했으며 일반적으로 이에 매우 만족합니다.

저는 서버 전문가가 아니니 양해 부탁드립니다.

제가 놓친 작은 구성이 있는지 궁금합니다. 이로 인해 장기적으로 문제가 발생할 수 있습니다...

내 것을 봐주세요nginx.conf파일

user  nginx nginx;

worker_processes  4;

error_log /var/log/nginx/error_log info;

events {
    worker_connections  1024;
    use epoll;
}

http {
    include         /etc/nginx/mime.types;
    default_type    application/octet-stream;

    log_format main
            '$remote_addr - $remote_user [$time_local] '
            '"$request" $status $bytes_sent '
            '"$http_referer" "$http_user_agent" '
            '"$gzip_ratio"';

    client_header_timeout   10m;
    client_body_timeout     10m;
    send_timeout            10m;

    connection_pool_size            256;
    client_header_buffer_size       1k;
    large_client_header_buffers     4 2k;
    request_pool_size               4k;

    gzip on;
    gzip_min_length 1100;
    gzip_buffers    4 8k;
    gzip_types      text/plain;

    output_buffers  1 32k;
    postpone_output 1460;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;

    keepalive_timeout       75 20;

    ignore_invalid_headers  on;
    index index.html;

    server {
            listen 80;
            server_name localhost;
            location /media/  {
                    root /www/django_test1/myapp; # Notice this is the /media folder that we create above
            }
            location /mediaadmin/  {
                    alias /opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media/; # Notice this is the /media folder that we create above
            }
            location / {
                    # host and port to fastcgi server
                    fastcgi_pass 127.0.0.1:8080;
                    fastcgi_param  SERVER_ADDR        $server_addr;
                    fastcgi_param  SERVER_PORT        $server_port;
                    fastcgi_param  SERVER_NAME        $server_name;
                    fastcgi_param  SERVER_PROTOCOL    $server_protocol;
                    fastcgi_param  PATH_INFO          $fastcgi_script_name;
                    fastcgi_param  REQUEST_METHOD     $request_method;
                    fastcgi_param  QUERY_STRING       $query_string;
                    fastcgi_param  CONTENT_TYPE       $content_type;
                    fastcgi_param  CONTENT_LENGTH     $content_length;
                    fastcgi_pass_header Authorization;
                    fastcgi_intercept_errors off;
                    client_max_body_size 100M;
                    }
            access_log      /var/log/nginx/localhost.access_log main;
            error_log       /var/log/nginx/localhost.error_log;
    }
}

답변1

Keepalive 시간 제한을 더 낮게 설정하는 것이 좋습니다. 75는 너무 많고 실질적으로 쓸모가 없습니다. 저는 보통 10~20초 정도 사용하는데, 그 정도면 충분합니다. 하지만 많은 요청을 기대하지 않는다면 75도 괜찮습니다.

관련 정보