当我的服务器突然停止工作时,一切运行顺利。 我正在使用Linode和Nginx fast-cgi
这是我的日志文件:
上游超时(110:连接超时),同时从上游读取响应头,客户端:76.66.174.147,服务器:iskacanada.com,请求:“GET / HTTP / 1.1”,上游:“fastcgi://127.0 .0.1:9000“,主持人:”www.iskacanada.com“
location ~ \.php$ {
include fastcgi_params;
fastcgi_read_timeout 120;
fastcgi_pass localhost:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
当我想重启mysql时,它说:
sudo service mysql restart 停止:未知实例: 开始:作业无法启动
知道发生了什么事吗?
答案 0 :(得分:8)
经过几个小时的调试后,我就是这样做的:
使用Ubuntu 12.04,Nginx和php5-fmp
请检查您的日志文件!日志文件是你的朋友。 504网关问题意味着我的服务器无法与网站正常通信。所以在我的情况下,我有Nginx和php-fpm管理请求。我必须检查2个日志文件:
/var/log/nginx/error.log和/var/log/php5-fpm.log
在error.log中:
recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 76.66.174.147, server: xxxxxxx.com, request: "GET /wp-admin/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.xxxxxxx.com"
在php5-fpm.log中:
无法绑定地址'127.0.0.1:9000'的侦听套接字:地址已在使用中(98)
所以我发现我需要通过输入
来检查我的php5-fpm进程netstat | grep 9000
tcp 0 0 localhost.localdom:9000 localhost.localdo:58424 SYN_RECV
tcp 913 0 localhost.localdom:9000 localhost.localdo:57917 CLOSE_WAIT
tcp 857 0 localhost.localdom:9000 localhost.localdo:58032 CLOSE_WAIT
tcp 1633 0 localhost.localdom:9000 localhost.localdo:58395 CLOSE_WAIT
tcp 961 0 localhost.localdom:9000 localhost.localdo:58025 CLOSE_WAIT
tcp 857 0 localhost.localdom:9000 localhost.localdo:58040 CLOSE_WAIT
tcp 953 0 localhost.localdom:9000 localhost.localdo:58005 CLOSE_WAIT
tcp 761 0 localhost.localdom:9000 localhost.localdo:58016 CLOSE_WAIT
tcp 1137 0 localhost.localdom:9000 localhost.localdo:57960 CLOSE_WAIT
很多close_wait !!!这是不正常的...所以我通过输入
来杀死所有进程
fuser -k 9000 / tcp
然后我改变了我的
/etc/php5/fpm/pool.d/www.conf
并改变这个:
request_terminate_timeout = 30秒
现在该网站正常运作。我希望这可以解决问题,因为它是间歇性的。
答案 1 :(得分:1)
检查PHP是否仍在运行:sudo ps aux | grep php
如果是,请重新启动sudo service php5-fpm restart
,如果没有启动sudo service php5-fpm start
。
如果您需要重新启动数据库,只需将restart
,stop
或start
传递给service
命令:sudo service mysql start
或sudo service mysql restart
或sudo service mysql stop
。
答案 2 :(得分:-1)
我刚刚安装了winginx并遇到了504网关问题。错误日志指向上游服务器" fastcgi://127.0.0.1:9000"。这是nginx代理php的地方。
我打开php-cgi.conf并发现php正在侦听端口9054.将端口更改为9000并且一切正常。
网关是nginx用于连接服务的路由和/或端口。例如,Mongodb配置为开箱即用侦听端口27017。出于安全原因,我倾向于在生产服务器上更改服务上的默认端口,例如php等。