【Nginx】ulimit設定変更( worker_connections exceed open file resource limit:)エラー


Nginxをインストール後、コンフィグファイルで最大コネクション数を設定(worker_connections)した後、サービスを再起動時にエラーが吐かれます。

# vim /etc/nginx/nginx.conf
events {
    worker_connections  5000;

Nginx再起動後に以下の用にエラーを吐く

# service nginx restart
nginx: [warn] 5000 worker_connections exceed open file resource limit: 1024
nginx を停止中:                                            [  OK  ]
nginx を起動中: nginx: [warn] 5000 worker_connections exceed open file resource limit: 1024
                                                           [  OK  ]

そんなときの設定対処手順を紹介します。


ulimitを設定する

上記の様なlogを吐かれたら「ulimit -a」コマンドで確認しましょう。

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30390
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

9行目の「open files」と15行目の「max user processes」が1024となっていますので、ここを編集します。
以下のようにコマンドを設定後

# ulimit -n 5000
# ulimit -u 5000

再起動を実施します。

# service nginx restart
nginx を停止中:                                            [  OK  ]
nginx を起動中:                                            [  OK  ]

これで、問題なくエラーが吐かれないで再起動できました。

以上です。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!