某些 IP 上的 nginx 连接时间问题

某些 IP 上的 nginx 连接时间问题

我最近将服务器转移到 nginx 和 php-fpm,摆脱了 apache。这有助于提高我的网站速度。

一切似乎都运行正常,直到我遇到这个问题,我注意到 nginx 只对某些 IP 不断抛出连接超时错误。其中一个 IP 是我的办公室 IP,我们有一个后端,全天都可以从办公室访问。

我使用supervisord启动3个带有worker的php-fpm进程,这是我的典型php-fpm配置

pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 300

由于我的服务器有 4 个核心和 2 GB 内存,因此这是我的 nginx 设置

worker_processes  4;
worker_rlimit_nofile 8192;
events {
   worker_connections  1024;
   use epoll;
   multi_accept off;
}
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 55;
recursive_error_pages    on;
server_name_in_redirect off;
server_tokens           off;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 8k;
large_client_header_buffers 4 32k;
request_pool_size 4k;
output_buffers   4 32k;
postpone_output  1460;
proxy_buffer_size          32k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 64k;
fastcgi_connect_timeout 120;
fastcgi_send_timeout 120;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort     off;

我的配置哪里出错了,我尝试了各种设置,但问题仍然存在。

这些是我一直遇到的错误

2011/11/13 18:20:33 [error] 21583#0: *311683 upstream timed out (110: Connection timed   out) while reading response header from upstream, client: IP, server: tastykhana.in, request: "GET url HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.socket:", host: "tastykhana.in", referrer: "url"

答案1

“上游超时”表示后端(在您的例子中是 php-fpm)未及时发送响应。因此,如果您增加 nginx 超时 - 请查看 php-fpm。也许它因核心而停止运行?或者对数据库创建了一个巨大的查询?

相关内容