我是NGINX和服务器管理员的初学者。
我用本教程安装了NGINX / PHP / mySQL / WordPress:
在本教程中,后端fastcgi安装程序是使用tutorial配置的。在本教程中安装了php5-fpm:
apt-get install nginx-full php5-fpm php5 php5-mysql php5-apc php5-mysql php5-xsl php5-xmlrpc php5-sqlite php5-snmp php5-curl在阅读了WordPress编解码器上的NGINX配置比大多数教程更安全之后,我决定使用codex配置:
Codex配置使用php作为后端php。打开浏览器时,我收到了502坏网关错误。错误日志是:
"2012/06/10 21:18:27 暴击 14009#0:*4 connect()到unix:/tmp/php-fpm.sock失败(2:没有此类文件或目录),同时连接到上游,客户端: 12.3.456.789,服务器: mywebsite.com,请求:"GET / HTTP/1.1",上游:“快速1.1://unix:/tmp/php-fpm.sock:”,hos t:“mywebsite.com”
在codex提供的主NGINX配置文件中,我注意到上游php块中启动"server:“一行,指向空目录:
# Upstream to abstract backend connection(s) for PHP.
upstream php {
server unix:/tmp/php-fpm.sock;
# server 127.0.0.1:9000;
}我在/tmp检查了文件夹,它是空的。
似乎我错过了配置php来玩NGINX。
有人能给我指明正确的方向吗?
非常感谢!
发布于 2012-06-10 22:17:45
听起来你还没有安装php来监听Unix套接字。我猜您在使用Debian,因为您所遵循的说明是针对Debian的。
在我的Debian/nginx/php配置中,我有一个文件:/etc/php5/fpm/pool.d/www.conf,您需要编辑这个文件以允许php监听Unix套接字,而不是127.0.0.1:9000地址。
在/etc/php5/fpm/pool.d/www.conf中找到读取listen = 127.0.0.1:9000并将其更改为/tmp/php-fpm.sock的行(或者注释掉它,并在它下面添加listen = /tmp/php-fpm.sock )。或者,您可能希望将php-fpm.sock文件存储在tmp以外的其他地方。谷歌或许能帮你做到这一点。
https://serverfault.com/questions/397406
复制相似问题