Nginx的。 connect()到unix:/tmp/php.socket失败

时间:2014-04-04 18:48:06

标签: php nginx fastcgi

我正在尝试在我的ubuntu虚拟机上设置nginx并尝试托管一个php网站。我试图在我的ubuntu虚拟机上复制服务器设置。当我尝试从我的nginx服务器访问php页面时,我收到此错误。我试图在/ tmp /文件夹中查找php.socket文件,但其中没有任何内容。在我的虚拟机上有fastcgi或php有什么问题。

完整错误如下:

[crit] 9267#0: *1 connect() to unix:/tmp/php.socket failed (2: No such file or directory) while connecting to upstream, client: 192.168.xxx.xxx, server: xxx.xxx.xxx.com, request: "GET /admin/ HTTP/1.1", upstream: "fastcgi://unix:/tmp/php.socket:", host: "xxx.xxx.xxx..com"

请帮忙。我不知道为什么会发生这种情况我错过了一个包或什么的。我已经安装了所有东西,并且在我的本地服务器上有相同的配置。

3 个答案:

答案 0 :(得分:2)

尝试使用TCP \ IP连接:

,而不是使用unix套接字

location ~ .php$ { # fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_pass 127.0.0.1:9000; # ... }

这适用于PHP5-FPM(可能是另一种选择),也许你必须使用端口7777

答案 1 :(得分:1)

我能够通过安装来解决问题:

PHP-fastcgi的。

安装完毕后我跑了sudo /etc/init.d/php-fastcgi start

然后它在/ tmp文件夹中创建了php.socket来解决问题。但是现在我试图打开的页面将永远打开,最后它会给出一个错误说超时:

  

[错误] 28830#0:* 5上游超时(110:连接超时)   从上游读取响应头,客户端:192.168.xxx.xxx,   服务器:xxx.xxx.xxx.com,请求:" GET / admin / HTTP / 1.1",上游:   " fastcgi:// unix:/tmp/php.socket:",host:" xxx.xxx.xxx.com"

我尝试通过将proxy_read_timeout的值更改为proxy_read_timeout 300来更改超时;在nginx.conf中

但这似乎无法解决问题。

答案 2 :(得分:0)

如果你想在套接字上使用php5-fpm,你应该根据需要配置/etc/php5/fpm/pool.d/www.conf

在nginx配置中使用例如:

fastcgi_pass unix:/var/run/php5-fpm.sock;

看起来你的nginx配置指向“错误”(非默认)位置。

套接字应该比TCP快,因为没有开销。 (可能必须正确配置套接字以提供最佳性能)