linux环境中启动重启nginx出现“too many open files”解决方法

linux环境中启动/重启nginx报以下错误日志:

nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: [emerg] open() “/www/wwwlogs/***.log” failed (24: Too many open files)
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

linux环境中启动重启nginx出现“too many open files”解决方法

分析这是因为linux默认设置了软硬文件句柄和打开文件的数目,程序打开的文件/socket连接数量超过了系统设定值。

查看当前操作系统默认允许打开的文件数:
# ulimit -n

查看当前已经打开的文件数:
# lsof|wc -l

#cat /proc/sys/fs/file-max

1·在Linux系统级别上提高打开文件的限制,设置最大文件数:
# vi /etc/security/limits.conf
末尾增加:
* soft nofile 800000
* hard nofile 800000


# vi /etc/sysctl.conf
末尾增加:
fs.file-max = 800000

保存并关闭,最后重新载入sysctl命令,以使以上改变生效:
#sysctl -p

2·nginx也有同样的限制,可以通过worker_rlimit_nofile来增加此限制数量。
#vi nginx.conf
增加或修改:
worker_rlimit_nofile  800000;

原创文章,作者:A·大饼哥,如若转载,请注明出处:https://b.sanbangyun.com/20240226/78.shtml

Like (0)
Previous 2024年2月22日
Next 2024年2月26日

相关推荐

关注有礼
关注有礼
联系我们
联系我们
TOP
网站已在工信部登记ICP备案,感恩相遇,运维的路,你我携手并进!