nginxの設定

nginxの各種設定(主に修正しそうな箇所)です。

# vim /etc/nginx/nginx.conf
  • user
    nginxプロセスを実行するユーザ。
    user  nginx;
    
  • worker_processes
    nginxのプロセス数。
    Webサーバ専用のサーバなら、サーバコア数を設定するのが良いかと。
    他に余力を残しておきたいなら、サーバコア-1とか。
    worker_processes  3;
    
  • worker_connections
    1プロセスあたりの最大接続数。
    ついでに「use epoll」も指定。Linux2.6からはepollが推奨らしい。
    events {
        worker_connections  1024;
        use epoll;
    }
    
  • client_max_body_size
    nginxがPOSTで受け取れる最大サイズ。(未設定だと1MB)
    普通は1MBあれば十分ですが、例えばGitサーバとして使用してコミットファイルを大量に受け付ける場合などは設定が必要です。
    #一緒にclient_body_buffer_sizeも設定しておきます。
    http {
        client_max_body_size     100m;
        client_body_buffer_size  256k;
    }
    
  • tcp_nopush
    レスポンスヘッダとファイルの内容をまとめて送信するかどうか。
    ONにするとパケットを少なくできます。
    http {
        tcp_nopush  on;
    }
    
  • keepalive_timeout
    KeepAliveのタイムアウト時間です。
    http {
        keepalive_timeout  120;
    }
    
  • その他もろもろ
    コンテンツのgzip圧縮設定だったり、リバースプロキシ設定など。説明が適当でスミマセンm(_ _)m
    http {
        gzip on;
        gzip_comp_level 1;
        gzip_disable "MSIE [1-6]\.";
        gzip_http_version 1.0;
        gzip_buffers 4 8k;
        gzip_min_length 1024;
        gzip_proxied any;
        gzip_vary on;
        gzip_types text/plain
                   text/xml
                   text/css
                   text/javascript
                   application/xml
                   application/xhtml+xml
                   application/rss+xml
                   application/atom_xml
                   application/javascript
                   application/x-javascript
                   application/x-httpd-php;
    
        proxy_buffering     on;
        proxy_buffer_size   64k;
        proxy_buffers       16 64k;
        proxy_cache_path    /var/cache/nginx/proxy_temp levels=1:2
                            keys_zone=czone:15m max_size=512m inactive=7d;
        proxy_temp_path     /var/tmp/nginx 1 2;
        proxy_cache_valid   200 302 2h;
        proxy_cache_valid   301     4h;
        proxy_cache_valid   any     1m;
        proxy_cache_use_stale  error timeout invalid_header updating
                               http_500 http_502 http_503 http_504;
    }
    

設定を修正したら、設定ファイルのチェック。そして再起動。

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# service nginx restart