我不断遇到这个错误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
答案1
worker_rlimit_nofile 65535;
在主上下文中的 nginx.conf 中设置。
答案2
成为用户:
su - nginx
检查限制:
ulimit -Hn
ulimit -Sn
编辑文件系统允许您打开的文件数量:
vi /etc/sysctl.conf
fs.file-max = 70000
加载您的更改:
sysctl -p
看看是否有帮助。