我们使用nginx和PHP-FPM运行一个相当大的站点,由于站点负载相当高,我们收到很多错误。 当连接到上游时,我们得到“连接()失败(110:连接超时)”…上游:“fastcgi://127.0.0.1:9000”
这是我的PHP-FPMconfiguration文件。
PHP-FPM:
[www] listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 user = nginx group = nginx pm = dynamic pm.max_children = 100 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 100 slowlog = /var/log/php-fpm/www-slow.log php_admin_value[error_log] = /var/log/php-fpm/www-error.log php_admin_flag[log_errors] = on
高stream量网站的服务器/儿童的推荐configuration/数量是多less?
我们尝试使用Unix套接字而不是TCP,并没有得到明显的改善。 现在的错误是:connect()unix:/var/run/php-fcgi.sock失败(11:资源暂时不可用),同时连接到上游…上游:“fastcgi:// unix:/ var / run /php-fcgi.sock:” …
谢谢,
伦纳德
使用unix套接字,而不是TCP / IP。 所以,你会做这样的事情:
listen = /tmp/php.sock
如果你不想这样做,请检查你的防火墙规则。 如果你使用任何一种conntrack规则,你可以很容易地填写表格。 看看是否有关于它的任何日志消息在dmesg
。 你不应该真的在高负载的服务器上使用conntrack,所以禁用这可能是一个好主意。
另外,检查你的ulimit
设置。 如果打开的文件数量太less,可能会遇到问题。