Linux

nginx uLimit ‘worker_connections 超出打開文件資源限制:1024’

  • February 8, 2016

我不斷收到這個錯誤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;
}

security/limits.conf像這樣更改了系統的 Ulimit:

# 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

worker_rlimit_nofile 65535;在主上下文中的 nginx.conf 中設置。

成為使用者:

su - nginx

檢查限制:

ulimit -Hn
ulimit -Sn

編輯文件系統允許您打開的文件數:

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

載入您的更改:

sysctl -p

看看是否有幫助。

引用自:https://serverfault.com/questions/640976