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;
}
あと、/var/cache/nginx/proxy_temp
などのパスを記載しているものは、そのパスが存在していることを確認する。あと書き込み権限なども。なければ作成で。
設定を修正したら、設定ファイルのチェック。そして再起動。
# 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