Plesk 11.5 php-fpm.sock失败-资源暂时不可用&;502坏网关NGINX错误


Plesk 11.5 php-fpm.sock failed - resource temporarily unavailable & 502 Bad Gateway NGINX errors

在启用NGINX和PHP-FPM处理的情况下,使用Plesk 11.5的站点会出现此问题。

php-fpm.sock失败(11:资源暂时不可用

网站还将显示以下消息:"502坏网关"NGINX

所有到该网站的连接都将失败,因为PHP-FPM将不允许再连接到该特定网站。我能想到的唯一解决方案是重新启动PHP-FPM(服务PHP-FPM重新启动)。这会持续一段时间,直到PHP-FPM缓冲区填满为止。我尝试过在特定于域的php-fpm设置中更改最大连接数,但这似乎不起作用。

需要注意的另一件有趣的事情是,这个特定的域位于一个有30个其他域的服务器上。然而,当错误发生时,该域是唯一有问题的域。所有其他使用PHP-FPM进行PHP处理的网站继续正常工作。

PHP-FPM.CONF

include=/etc/php-fpm.d/*.conf
pid = /var/run/php-fpm/php-fpm.pid
error_log = /var/log/php-fpm/error.log
;log_level = notice
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
;daemonize = yes

PHP-FPM域配置(来自PHP-FPM.d文件夹)

listen = php-fpm.sock
listen.owner = root
listen.group = psaserv
listen.mode = 0660
; Following options can be overridden
chdir = /
pm = ondemand
pm.max_children = 25
pm.process_idle_timeout = 10s
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 5

NGINX.CONF

#user  nginx;
worker_processes  4;
events {
    worker_connections  2048;
}
http {
    include   mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    tcp_nopush     on;
        send_timeout 60;
        proxy_read_timeout 60;
        proxy_connect_timeout 60;
    #keepalive_timeout  0;
    keepalive_timeout  4;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

    gzip  on;
    #gzip_disable "MSIE [1-6]'.(?!.*SV1)";
    server_tokens off;
    include /etc/nginx/conf.d/*.conf;
}

特定于域的NGINX.conf

(跳过一堆特定于服务器/ssl/域的参数。这两个参数可能很重要)。

client_max_body_size 128m;
proxy_read_timeout 10;

只是尝试本地化问题:

  1. 将pm=ondemand切换为pm=dynamic
  2. 将pm.start_servers和pm.min_pare_servers增加到4
  3. 添加pm.max_requests=500
  4. 添加pm.status_path-读取文档它是什么以及如何使用它
  5. 重新启动php-fpm服务

观察一段时间。

这些更改可能会被plesk覆盖,请注意。