Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets Nginx带清漆错误:失败(24:打开的文件太多)_Sockets_Nginx_Proxy_Varnish_Varnish 4 - Fatal编程技术网

Sockets Nginx带清漆错误:失败(24:打开的文件太多)

Sockets Nginx带清漆错误:失败(24:打开的文件太多),sockets,nginx,proxy,varnish,varnish-4,Sockets,Nginx,Proxy,Varnish,Varnish 4,我在ubuntu上使用nginx作为代理运行varnish,每隔几天就会出现(24:打开的文件太多)错误。 重新启动nginx解决了这个问题。 在研究了这个错误之后,我发现常见的解决方案是增加nginx.conf中的workerrlimit_nofile。 我觉得这不是一个真正的解决方案,因为我将设置的限制也可能达到 为什么nginx保持这些文件(我相信这些是套接字)打开?我的处境会有什么解决办法 更新: 我刚刚注意到,当我运行lsof时,有数百个清漆插座打开。我认为我的问题是这些插座无法关闭

我在ubuntu上使用nginx作为代理运行varnish,每隔几天就会出现(24:打开的文件太多)错误。 重新启动nginx解决了这个问题。 在研究了这个错误之后,我发现常见的解决方案是增加nginx.conf中的workerrlimit_nofile。 我觉得这不是一个真正的解决方案,因为我将设置的限制也可能达到

为什么nginx保持这些文件(我相信这些是套接字)打开?我的处境会有什么解决办法

更新:


我刚刚注意到,当我运行lsof时,有数百个清漆插座打开。我认为我的问题是这些插座无法关闭

当服务器是web服务器时,增加服务器上打开的文件的标准最大数量是一个很好的做法,临时端口的数量也是如此

我认为默认打开的文件数是1024,这对于varnish来说太小了

我将其设置为131072


ulimit-n 131072

当服务器是web服务器时,增加服务器上打开的文件的标准最大数量是一个很好的做法,临时端口的数量也是如此

我认为默认打开的文件数是1024,这对于varnish来说太小了

我将其设置为131072


ulimit-n131072

谢谢本杰明。我想知道为什么这些插座一直开着。几天前我停止了向varnish服务器传递流量,但我仍然看到这些套接字打开,并出现相同的错误(24:打开的文件太多)。我不是varnish开发人员,但我认为每个varnish线程都管理一个套接字,因为varnish生成了很多线程(无害,经过优化),所以它需要很多套接字。如果您查看varnish服务配置,您应该会在某处看到
#打开的文件(通常是1024个,对于varnish来说太小了)ulimit-n${NFILES:-131072}
谢谢。我想知道为什么这些插座一直开着。几天前我停止了向varnish服务器传递流量,但我仍然看到这些套接字打开,并出现相同的错误(24:打开的文件太多)。我不是varnish开发人员,但我认为每个varnish线程都管理一个套接字,因为varnish生成了很多线程(无害,经过优化),所以它需要很多套接字。如果您查看varnish服务配置,您应该会在某处看到
#打开的文件(通常是1024个,对于varnish来说太小了)ulimit-n${NFILES:-131072}