Plesk 11.5 php-fpm.sock失败 - 资源暂时不可用& 502 Bad Gateway NGINX错误

时间:2013-08-18 06:45:22

标签: nginx plesk php

在使用Plesk 11.5且启用了NGINX和PHP-FPM处理的网站上会出现此问题。

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

网站还将显示以下消息:“502 Bad Gateway”NGINX

与网站的所有连接都将失败,因为PHP-FPM将不再允许与该特定网站的任何连接。我能够提出的唯一解决方案是重启PHP-FPM(服务php-fpm restart)。这有效一段时间,直到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 / domain特定参数。这两个可能很重要)。

client_max_body_size 128m;
proxy_read_timeout 10;

1 个答案:

答案 0 :(得分:0)

尝试本地化问题:

  1. 将pm = ondemand切换为pm = dynamic
  2. 将pm.start_servers和pm.min_spare_servers增加到4
  3. 添加pm.max_requests = 500
  4. 添加pm.status_path - 阅读文档是什么以及如何使用它。
  5. 重启php-fpm服务
  6. 并观察一会儿。

    plesk可以覆盖此更改,因此请注意。