我不知道为什么每次尝试打开页面时都会出现此错误:
2013/04/06 17:52:19 [error] 5040#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:8080"
答案 0 :(得分:39)
我解决了,这是配置文件问题,我补充道:
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
答案 1 :(得分:18)
对我来说问题是我的php-fpm服务没有运行。您可以通过运行来检查它:
service php-fpm status
并通过运行
启动它service php-fpm start
有时php-fpm可能会破坏实例运行,从而阻止重启。这个命令是一个清除它们并重新启动php-fpm的简洁方法
killall -9 php-fpm; service php-fpm restart
答案 2 :(得分:3)
如前所述更新您的配置:
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
但不要忘记在更新
后重新启动nginx服务器和php-fpmsudo /etc/init.d/nginx restart
sudo /etc/init.d/php-fpm restart
答案 3 :(得分:3)
我发现在Debian Jessie(8.3)实例的Docker中运行PHP7时遇到了同样的问题。
在我的start.sh脚本中添加了'php-fpm -D',以便每次加载容器时都会启动。
希望这有助于某人。
答案 4 :(得分:0)
使用fastcgi_pass unix:/var/run/php5-fpm.sock;只有nginx和php安装相同的服务器。如果nginx和php安装在其他服务器上,则必须使用fastcgi_pass ip server:port;