coder_001 发表于 2017-4-9 19:15:17

nginx打开文件过多

军哥,我使用lnmp一键部署了一个网站,运行几天就会报:Too many open files in system。keepalive设置的是60,
查看打开文件数:php-fpm这个进程一共创建了5个,打开的文件句柄之和超过了文件句柄上线。
nginx不会自动关闭http连接吗?

licess 发表于 2017-4-10 19:52:28

那边出现的这个错误?

coder_001 发表于 2017-4-10 20:54:01

nginx后台出现的

licess 发表于 2017-4-11 09:33:13

ulimit -Hn
ulimit -Sn

cat /etc/security/limits.conf
看一下
open files默认设置上都已经很大了

coder_001 发表于 2017-4-11 13:31:02

已经设置为65535了如下所示。
问题是为什么nginx不回收呢,这样再大的设置都有用尽的时候。
一开始安装的时候默认是1024,我跑了1天就无法访问了,然后我设置成了65535,结果跑了十几天又出现了。。。


# ulimit -Hn
65535
# ulimit -Sn
65535
# cat /etc/security/limits.conf
# /etc/security/limits.conf
#
#This file sets the resource limits for the users logged in via PAM.
#It does not affect resource limits of the system services.
#
#Also note that configuration files in /etc/security/limits.d directory,
#which are read in alphabetical order, override the settings in this
#file in case the domain is the same or more specific.
#That means for example that setting a limit for wildcard domain here
#can be overriden with a wildcard setting in a config file in the
#subdirectory, but a user specific setting here can be overriden only
#with a user specific setting in the subdirectory.
#
#Each line describes a limit for a user in the form:
#
#<domain>      <type><item><value>
#
#Where:
#<domain> can be:
#      - a user name
#      - a group name, with @group syntax
#      - the wildcard *, for default entry
#      - the wildcard %, can be also used with %group syntax,
#               for maxlogin limit
#
#<type> can have the two values:
#      - "soft" for enforcing the soft limits
#      - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#      - core - limits the core file size (KB)
#      - data - max data size (KB)
#      - fsize - maximum filesize (KB)
#      - memlock - max locked-in-memory address space (KB)
#      - nofile - max number of open file descriptors
#      - rss - max resident set size (KB)
#      - stack - max stack size (KB)
#      - cpu - max CPU time (MIN)
#      - nproc - max number of processes
#      - as - address space limit (KB)
#      - maxlogins - max number of logins for this user
#      - maxsyslogins - max number of logins on the system
#      - priority - the priority to run user process with
#      - locks - max number of file locks the user can hold
#      - sigpending - max number of pending signals
#      - msgqueue - max memory used by POSIX message queues (bytes)
#      - nice - max nice priority allowed to raise to values: [-20, 19]
#      - rtprio - max realtime priority
#
#<domain>      <type><item>         <value>
#

#*               soft    core            0
#*               hard    rss             10000
#@student      hard    nproc         20
#@faculty      soft    nproc         20
#@faculty      hard    nproc         50
#ftp             hard    nproc         0
#@student      -       maxlogins       4

# End of file
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
#

licess 发表于 2017-4-11 21:36:36

回复 5# 的帖子

nginx不回收不清楚

coder_001 发表于 2017-4-16 09:44:52

回复 6# 的帖子

我跟踪了一下,是因为php-fpm占用的文件句柄太多。每次访问,它都打开一个php文件,从来不会释放。最终导致句柄耗尽。军哥,这么配置php-fpm,让其定期清理文件句柄吗?

licess 发表于 2017-4-16 19:31:07

回复 7# 的帖子

不清楚句柄清理

php打开了文件没有进行关闭占用了的的话应该在php上进行关闭就可以了吧,php菜鸟
页: [1]
查看完整版本: nginx打开文件过多