Nginx connect()失败错误

Haz*_*ass 17 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"
Run Code Online (Sandbox Code Playgroud)

Haz*_*ass 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;
}
Run Code Online (Sandbox Code Playgroud)

  • 在某些情况下,`fastcgi_pass 127.0.0.1:9000;`存在于服务器块中并且负责此错误,在这种情况下,您需要将其更改为`fastcgi_pass unix:/var/run/php5-fpm.sock;` . (4认同)
  • 这是因为php5-fpm现在附带了`/ etc/php5/fpm/pool.d/www.conf`中启用的Unix套接字`listen =/var/run/php5-fpm.sock`而不是TCP套接字` listen = 127.0.0.1:9000`.这通常要快一点.(对于谷歌搜索目的)`ubuntu 14.04 nginx php5-fpm 502 Bad Gateway`.我感觉很多人在不久的将来会需要这个.有很多教程使用旧套接字. (2认同)

Con*_*tch 18

对我来说问题是我的php-fpm服务没有运行.您可以通过运行来检查它:

service php-fpm status
Run Code Online (Sandbox Code Playgroud)

并通过运行启动它

service php-fpm start
Run Code Online (Sandbox Code Playgroud)

有时php-fpm可能会破坏实例运行,从而阻止重启.这个命令是一个清除它们并重新启动php-fpm的简洁方法

killall -9 php-fpm; service php-fpm restart
Run Code Online (Sandbox Code Playgroud)