Nginx 504使用php fpm超时
我的一个站点有504个网关超时。请帮我找出原因 以下是我的nginx配置:Nginx 504使用php fpm超时,nginx,debian,php,Nginx,Debian,Php,我的一个站点有504个网关超时。请帮我找出原因 以下是我的nginx配置: server { listen 80; server_name domain.com; root /home/user/domain.com; error_log /home/user/domain.com/error.log; location / { try_files $uri /index.php?q=$uri&$args; }
server {
listen 80;
server_name domain.com;
root /home/user/domain.com;
error_log /home/user/domain.com/error.log;
location / {
try_files $uri /index.php?q=$uri&$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Nginx错误日志:
$ sudo tail -n 1 domain.com/error.log
2014/08/21 17:09:35 [error] 16790#0: *30 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 5.18.54.52, server: domain.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "domain.com"
php fpm日志中没有任何内容:
sudo tail -n 1 /var/log/php5-fpm.log
[21-Aug-2014 17:08:31] NOTICE: ready to handle connections
这里是我的www.conf:
$ sudo nano /etc/php5/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 1
pm.max_spare_servers = 10
请帮我解决这个问题!谢谢 从PHP 5.5.12开始,FPM套接字权限已更改,以解决与安全相关的错误,您可以在此处阅读更多信息-> 您的listen.mode=0660现在应该在FPM池配置中设置为listen.mode=0666。还要确保listen.owner和listen.group与运行Nginx的用户名/组相同。以下是我的设置:
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
我假设您的Nginx配置具有用户www数据;然后简单地将上面的nginx引用更改为www数据
至于Nginx,这里是我目前正在使用的一个工作示例:
# PHP-FPM Support
location ~ \.php$ {
fastcgi_pass unix:/var/run/nginx.sock;
include fastcgi.conf;
}
我认为您的Nginx配置很好,但如果您想尝试一些不同的东西,我将发布我的配置作为测试
在进行任何配置更改后,不要忘记重新启动PHP-FPM
试试看,我相信它会解决您的问题。套接字是实际创建的吗?如果是,所有者是谁,权限是什么?抱歉,我是linux新手,不知道如何检查此项但是,我的其他配置相同的站点工作正常。ls-al/var/run/php5-fpm.sock将告诉您是否创建了它,谁拥有它,以及权限是什么。还有,您目前正在使用哪些版本的PHP?是的,它是由www data:srw rw--1 www data www data 0 Aug 21 17:22/var/run/php5-fpm.sock创建和拥有的。我使用的是php5.5.15-1~dotdeb.1。我将0660改为0666,但问题未解决=我的www.conf配置现在:`listen.owner=www-data-listen.group=www-data-listen.mode=0666`您是否确保重新启动FPM并重新检查套接字权限?我的其他站点使用相同的配置工作正常。但不是这个,我不知道为什么??=是的,我重新启动了FPM,也重新启动了nginx。