我有一些錯誤與主題。服務器不高負載:〜15%的CPU,有幾個Gb的內存,HDD不是buisy。但是,錯誤502大約在3%的情況下拋出。錯誤502在nginx + php5-fpm
程序:Debian 6,nginx/0.7.62,php5-fpm(5.3.3-1)。
在Nginx的error.log中是這樣的錯誤:
PHP5-FPM的connect() to unix:/var/run/php5-fpm.sock failed
狀態通常是這樣的:
accepted conn: 41680
pool: www
process manager: dynamic
idle processes: 258
active processes: 1
total processes: 259
我認爲,這意味着負荷不高。
我增加了積壓參數:在sysctl - net.core.somaxconn = 5000,在php-fpm pool - listen.backlog = 5000。沒有效果。
我引用的配置:
/etc/nginx/nginx.conf
user www-data;
worker_processes 8;
timer_resolution 100ms;
worker_rlimit_nofile 20240;
worker_priority -5;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
use epoll;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_min_length 1100;
gzip_buffers 64 8k;
gzip_comp_level 3;
gzip_http_version 1.1;
gzip_proxied any;
gzip_types text/plain application/xml application/x-javascript text/css;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
client_max_body_size 100M;
server_tokens off;
}
的/ etc/nginx的/ php_location
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_buffers 256 128k;
#fastcgi_buffer_size 16k;
#fastcgi_busy_buffers_size 256k;
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
include fastcgi_params;
PHP-FPM池
[www]
listen = /var/run/php5-fpm.sock
listen.backlog = 5000
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
user = www-data
group = www-data
pm = dynamic
pm.max_children = 1024
pm.start_servers = 64
pm.min_spare_servers = 64
pm.max_spare_servers = 128
pm.max_requests = 32000
pm.status_path = /system/php5-fpm-status
slowlog = /var/www/log/php-fpm.log.slow
chdir = /var/www
我可以做些什麼來優化這個系統,並使其使用所有的服務器資源?
PS。對不起,我的英語不好。
我在Ubuntu 13.10和PHP5-FPM的以某種方式歪曲發生了什麼......實際上,在記錄日誌說什麼都沒有:)我通過直接從命令行運行守護進程發現錯誤,而不是'sudo php5-fpm - -daemonize --fpm-config/etc/php5/fpm/php-fpm.conf' – benjaoming
爲了防止有人在/etc/php5/fpm/pool.d/www.conf中搜索php-fpm池文件Ubuntu 12.04.3 LTS –
對於那些通過谷歌搜索來到這個問題的人:先試試這個解決方案:http://stackoverflow.com/questions/23443398/nginx-error-connect-to-php5-fpm-sock-failed-13 -permission-denied – Alexar