web-dev-qa-db-ja.com

nginx uLimit 'worker_connectionsがオープンファイルのリソース制限を超えています:1024'

nginx/error.logでこのエラーが発生し続けます。

8096 worker_connections exceed open file resource limit: 1024

私は考えられるすべてのものを試しましたが、ここでnginxを制限しているものを理解できません。何が欠けているのかわかりますか?

nginx.confにはこれがあります:

worker_processes 4;
events {
        worker_connections 8096;
        multi_accept on;
        use epoll;
}

システムのUlimitをsecurity/limits.confで次のように変更しました:

# This is added for Open File Limit Increase
*               hard    nofile          199680
*               soft    nofile          65535

root            hard    nofile          65536
root            soft    nofile          32768

# This is added for Nginx User
nginx           hard    nofile          199680
nginx           soft    nofile          65535

まだエラーが表示されていました。だから私も/etc/default/nginxを編集して、次の行を追加しました:

ULIMIT="-n 65535"

それでも同じエラーが表示されます。 nginxワーカーの接続が1024に制限されている理由を理解できません。指摘していただけますか?

私はDebian 7 + nginxを持っています

15
Neel

セットする worker_rlimit_nofile 65535;メインコンテキスト内のnginx.conf内。

31
Xavier Lucas

ユーザーになる:

su - nginx

制限を確認します。

ulimit -Hn
ulimit -Sn

ファイルシステムで開くことができるファイルの数を編集します。

vi /etc/sysctl.conf
fs.file-max = 70000

変更をロードします。

sysctl -p

それが役立つかどうかを確認します。

2
Dave Holland