Nginx connect()失败错误

时间:2013-04-06 15:53:57

标签: php nginx server

我不知道为什么每次尝试打开页面时都会出现此错误:

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"

5 个答案:

答案 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-fpm
sudo /etc/init.d/nginx restart
sudo /etc/init.d/php-fpm restart

答案 3 :(得分:3)

我发现在Debian Jessie(8.3)实例的Docker中运行PHP7时遇到了同样的问题。

  • 运行命令'ps -aux'显示php-fpm未运行
  • 运行'php-fpm -D'将其作为deamonized进程。
  • 重新运行'ps -aux'表明php-fpm确实正在运行
  • 刷新我的测试页面向我展示了服务器PHP信息。

在我的start.sh脚本中添加了'php-fpm -D',以便每次加载容器时都会启动。

希望这有助于某人。

答案 4 :(得分:0)

使用fastcgi_pass unix:/var/run/php5-fpm.sock;只有nginx和php安装相同的服务器。如果nginx和php安装在其他服务器上,则必须使用fastcgi_pass ip server:port;