LoginSignup
0
2

More than 5 years have passed since last update.

nginxの設定

Posted at

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

あと、/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
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2