nginx+中的错误502;php5 fpm
我在主题上有些错误。服务器负载不高:~15%的CPU,有几Gb的内存,硬盘没有内置。但错误502在大约3%的情况下抛出 程序:Debian 6、nginx/0.7.62、php5 fpm(5.3.3-1) nginx的error.log中有以下错误:nginx+中的错误502;php5 fpm,nginx,fastcgi,php,Nginx,Fastcgi,Php,我在主题上有些错误。服务器负载不高:~15%的CPU,有几Gb的内存,硬盘没有内置。但错误502在大约3%的情况下抛出 程序:Debian 6、nginx/0.7.62、php5 fpm(5.3.3-1) nginx的error.log中有以下错误: connect() to unix:/var/run/php5-fpm.sock failed php5 fpm的状态通常如下: accepted conn: 41680 pool: www process manag
connect() to unix:/var/run/php5-fpm.sock failed
php5 fpm的状态通常如下:
accepted conn: 41680
pool: www
process manager: dynamic
idle processes: 258
active processes: 1
total processes: 259
我认为,这意味着负载不高
我增加了backlog参数:在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\u位置
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
如何优化此系统并使其使用所有服务器资源
对不起,我的英语不好。问题是插座本身,它在高负载情况下的问题是众所周知的。请考虑使用TCP\IP连接代替UNIX套接字,因为您需要进行这些更改:
- 在php fpm池配置中用
listen=127.0.0.1:7777替换
listen=/var/run/php5 fpm.sock
- 在/etc/nginx/php_位置替换
fastcgi_-passunix:/var/run/php5-fpm.sock代码>与
fastcgi_pass 127.0.0.1:7777代码>
sudo /etc/init.d/php-fpm restart
sudo /etc/init.d/nginx restart
在Centos 7,Plesk 12.5 在我的硬盘满了,一些服务失败后,我遇到了这个问题。 其他域工作得很好,但没有一个域它只给了我502和类似的超时。从错误日志:
[crit] 3112#0: *65746768 connect() to
unix:///var/www/vhosts/system/sub.domain.de/php-fpm.sock failed
(2: No such file or directory) while connecting to upstream
为了解决这个问题,我必须(首先让空间可用,然后)重新启动php fpm和nginx——然后这个错误消失了 此文件未创建的唯一原因是/etc/php-fpm.d/www.conf上的配置 更改侦听=127.0.0.1:9000 使用listen=/var/run/php-fpm/php-fpm.sock
然后重新启动nginx和php fpm,现在好多了。此外,我想说的是,将PHP更新到5.4版有很好的效果。我认为这里有一个错误。缺少
=
符号。它应该是listen=127.0.0.1:7777
,而不是listen 127.0.0.1:7777
AFAIK。找到了它-它现在在/etc/nginx/sites available/*
我的同事们证明了我对这一方法的解释是错误的,但它似乎仍然是为什么为许多人工作的原因。几年后,我仍然在寻找问题的根本原因,却找不到。在ubuntu上,php fpm池配置的位置是/etc/php5/fpm/pool.d/www.conf。也别忘了在你做了这些更改后重新启动nginx和php5 fpm服务。我在ubuntu 13.10上,php5 fpm的日志记录在某种程度上是错误的发生。。。实际上,日志没有说什么:)我是通过直接从命令行运行守护进程发现错误的,sudo php5 fpm--daemonize--fpm config/etc/php5/fpm/php fpm.conf
以防有人在Ubuntu 12.04.3 lts上的/etc/php5/fpm/pool.d/www.conf中搜索php fpm池文件。对于那些通过谷歌搜索到这个问题的人:首先尝试这个解决方案:每当遇到问题时重新启动应用程序,永远不能被认为是解决方案。这取决于问题的频率和可分配的资源量——是的,它可以是一个解决方案。当然,系统应该设计得更好的基本点仍然存在course@GeekRide如果这种情况需要使用套接字连接,那么正如DmitryV所说的“其在高负载情况下的问题是众所周知的”,我们将别无选择,只能战略性地重新启动服务。我觉得很遗憾,这么多人忽视了这一点,因为他们在生产成本较低的环境中工作。+1对于我的建议,在我调查有关服务状态时,sudo service php5 fpm status
我注意到它不知何故没有运行;因此,通过简单地启动(或重新启动)sudo服务php5 fpm start
解决了这个问题。我想将此留作历史参考——也就是说,这是另一种策略,尽管不如公认的答案。承认这个答案的剩余目的,我想请人们停止对它投反对票。我会删除它,但其他人可能会认为这也是一个可行的替代方案,以接受的答案。我有那行,重新启动了这两个,但文件仍然不存在。php5-fpm.log中没有错误