Apache + Nginx 上没有 fastcgi_pass 目录,如何找到它?

Apache + Nginx 上没有 fastcgi_pass 目录,如何找到它?

我有一个CentOSApacheNginx安装。它使用php 5处理程序作为 fcgi。此服务器使用WHM cpaneleasyapachefcgi通过使用 进行应用easyapache。这些安装由我的托管公司完成。当我向其中添加以下代码时,Nginx vhost出现No such file or directory错误。

    location ~ .php$ {
            try_files $uri /index.php;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;

.sock当我在服务器中搜索文件时,它不显示.sock扩展文件。如何fastcgi_pass在此 VPS 中找到正确的目录和文件?

答案1

我的猜测是php-fpm守护进程肯定绑定到 TCP 端口而不是 Unix 套接字。

打开你的www.conf文件并检查是否有如下内容:

listen = 127.0.0.1:9000

和/或:

netstat -anp | grep -i fpm | grep -i listen
tcp     0      0 127.0.0.1:9000        0.0.0.0:*     LISTEN      2640/php-fpm

在我的 CentOS 6.5 上,文件www.conf位于此处:/etc/php-fpm.d/www.conf。它可能位于您系统上的其他位置。搜索它!

如果php-fpm绑定到 TCP 端口,您有 2 个选项:


选项1 :

保持www.conf不变:

listen = 127.0.0.1:9000

但请Nginx vhost像这样修改:

fastcgi_pass 127.0.0.1:9000;

选项 2:

保持Nginx vhost不变:

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

但请www.conf像这样修改:

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock;

相关内容