Allgemeine Nginx-Konfiguration, die ich möglicherweise übersehen habe

Allgemeine Nginx-Konfiguration, die ich möglicherweise übersehen habe

Ich bin vor Kurzem von Apache Mod_wsgi zu Nginx gewechselt und habe eine deutliche Verbesserung der Geschwindigkeit sowie eine Verringerung des Speicherverbrauchs festgestellt. Im Großen und Ganzen bin ich damit sehr zufrieden.

Ich bin kein Serverexperte, also seien Sie bitte nachsichtig.

Ich frage mich, ob es irgendwelche kleinen Konfigurationen gibt, die ich vielleicht übersehen habe und die mir auf lange Sicht Probleme bereiten werden …

Bitte beachten Sie meinenginx.confDatei

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;
    }
}

Antwort1

Ich empfehle Ihnen, ein kürzeres Keepalive-Timeout einzustellen, 75 ist zu viel und praktisch nutzlos. Ich verwende normalerweise 10-20 Sekunden, das sollte ausreichen. Aber wenn Sie nicht viele Anfragen erwarten, sind 75 auch in Ordnung.

verwandte Informationen