我正在运行Wordpress:Nginx + PHP-FPM + APC + W3 Total Cache + PageSpeed。
经过3天的研究和configuration,我成功地使它工作。 我configuration了PHP-FPM通过127.0.0.1:9000运行。 但是现在我想通过Socket进行configuration。
问题是,我无法find我的服务器的套接字path。 我刚刚发现/var/run/php-fpm/php-fpm.pid
,但php-fpm.sock
不在那里。
运行whereis php-fpm
的输出是:
php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /etc/php-fpm.conf /usr/share/man/man8/php-fpm.8.gz
但是那里没有任何php-fpm.sock
。
我怎样才能findphp-fpm.sock
?
我的规格:
我知道这是老问题,但是因为我现在也有同样的问题,并且找到了答案,我想我可以分享它。 问题是由于在pood.d /目录中的配置。
打开
/etc/php5/fpm/pool.d/www.conf
找
listen = 127.0.0.1:9000
改成
listen = /var/run/php5-fpm.sock
之后重新启动nginx和php5-fpm服务,并检查是否已经创建了php5-fpm.sock。
检查配置文件,配置路径是/etc/php5/fpm/pool.d/www.conf
,在那里你可以通过配置找到路径,如果你想要,你可以改变它。
编辑 :
那么你是正确的,你需要更换listen = 127.0.0.1:9000
来listen = /var/run/php5-fpm/php5-fpm.sock
,那么你需要运行sudo service php5-fpm restart
,并确保它说它重新启动正确,如果没有,那么确保/var/run/
有一个名为php5-fpm
的文件夹,或者让它监听/var/run/php5-fpm.sock
因为我不认为里面的文件夹/var/run
是自动创建的,我记得我不得不编辑启动脚本来创建这个文件夹,否则即使你重启后mkdir /var/run/php5-fpm
文件夹会消失,启动服务也会失败。
七年后,我在CentOS上面对同样的问题
发布希望它可以帮助其他人…
脚步:
首先 ,配置php-fpm设置:
– > systemctl stop php-fpm.service
– > cd /etc/php-fpm.d
– > ls -hal
(应该看一个www.conf文件)
– > cp www.conf www.conf.backup
(备份文件以防万一)
– > vi www.conf
– > :/listen =
(到我们需要改变的那一行)
– > i
(进入VI的文本插入模式)
– >从listen = 127.0.0.1:9000
更改为listen = /var/run/php-fpm/php-fpm.sock
– > Esc
然后:/listen.owner
(找到它)然后i
(改变)
– >注意listen.owner = nobody
和listen.group = nobody
线
– >打Esc
然后键入:/user =
然后i
– >将user = apache
更改user = apache
user = nginx
– >并改变group = apache
TO group = nginx
– >命中Esc
然后:wq
(保存并退出)
– > systemctl start php-fpm.service
(现在你将拥有一个php-fpm.sock文件)
第二 ,你在/etc/nginx/nginx.conf
文件中配置你的server {}
块。 然后运行: systemctl restart nginx.service
最后 ,在你的/ usr / share / nginx / html目录下创建一个新的.php文件,供你的Nginx服务器通过互联网浏览器进行测试。
– > vi /usr/share/nginx/html/mytest.php
– > type o
– > <?php echo date("Y/m/dl"); ?>
<?php echo date("Y/m/dl"); ?>
(PHP页面将在浏览器中打印日期和日期)
– >打Esc
– >输入:wq
(保存并完成VI编辑)
– >打开浏览器并转到: http://yourDomainOrIPAddress/mytest.php
(您应该看到打印的日期和日期)
解决我的情况,我看
sudo tail -f /var/log/nginx/error.log
和错误是php5-fpm.sock未找到
我看看sudo ls -lah /var/run/
没有php5-fpm.sock
我编辑www.conf
sudo vim /etc/php5/fpm/pool.d/www.conf
更改
listen = 127.0.0.1:9000
对于
listen = /var/run/php5-fpm.sock
并重新启动
当你查找你的php-fpm.conf
example location: cat /usr/src/php/sapi/fpm/php-fpm.conf
你会看到,你需要配置PHP FastCGI进程管理器来实际使用Unix套接字。 默认情况下, listen
指令设置为侦听一个端口上的TCP套接字。 如果没有定义的Unix套接字,则不会找到一个Unix套接字文件。
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all IPv4 addresses on a ; specific port; ; '[::]:port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = 127.0.0.1:9000
当我第一次在centos7上运行LEMP时遇到这个问题请参考这篇文章 。
我重新启动nginx来测试phpinfo页面,但得到这个
然后我使用tail -f /var/log/nginx/error.log
来查看更多信息。 我发现是不存在的php-fpm.sock文件。 然后我重新启动系统,一切正常。
这里可能不需要重新启动系统为Fath的文章 ,只需重新加载nginx和php-fpm即可。
重新启动php-fpm
重新加载nginx配置