我非常喜欢NGINX和服务器pipe理员初学者。
我使用这个教程来安装NGINX / PHP / mySQL / WordPress:
C3M数字教程
在本教程中,使用fastcgiconfiguration后端php-cgi安装程序。 本教程中安装了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编解码器上的NGINXconfiguration比大多数教程更安全之后,我决定使用codexconfiguration:
Codex中的WordPress NGINXconfiguration
Codexconfiguration使用php-fpm作为后端php-cgi。 当打开浏览器时,我得到了502错误的网关错误。 错误日志是:
“2012/06/10 21:18:27 [暴击] 14009#0:* 4连接()到unix:/tmp/php-fpm.sock失败(2:没有这样的文件或目录),同时连接上游,客户端:12.3.456.789,服务器:mywebsite.com,请求:“GET / HTTP / 1.1”,上游:“fastcgi:// unix:/tmp/php-fpm.sock:”,主机:“mywebsite.com”
在codex提供的主要NGINXconfiguration文件中,我注意到在上游php块中指向空目录的行“server unix:”:
# Upstream to abstract backend connection(s) for PHP. upstream php { server unix:/tmp/php-fpm.sock; # server 127.0.0.1:9000; }
我在/ tmp检查了文件夹,它是空的。
似乎我错过了configurationphp-fpm与NGINX玩。
有人能指出我正确的方向吗?
非常感激!
听起来你没有设置php-fpm来侦听Unix套接字。 我猜你正在使用Debian,因为你所遵循的指令是Debian。
在我的Debian / nginx / phpconfiguration文件中,我有这个文件: /etc/php5/fpm/pool.d/www.conf你需要编辑这个文件来允许php-fpm监听Unix套接字而不是127.0.0.1 :9000地址。
在/etc/php5/fpm/pool.d/www.conf中find这样一行: listen = 127.0.0.1:9000 ,并将其更改为/tmp/php-fpm.sock (或将其注释掉并添加listen = /tmp/php-fpm.sock下面是listen = /tmp/php-fpm.sock )。 或者,也许你想要将tmp-fpm.sock文件存放在tmp以外的地方。 谷歌可能可以帮助你。