nginx配置 php-fpm套接字

我们知道 nginx 中配置 php请求的转发方式有两用,一种是ip地址加端口号的方式

如图

nginx配置 php-fpm套接字_第1张图片

第二种就是使用套接字的方式

fastcgi_pass unix:/mylearn/phpfpmsock/php-cgi.sock

第一种方式是php-fpm 的默认配置,不用多说

这里说第二种使用方式

首先 要找到 php-fpm配置文件 进行修改

怎么找呢

whereis php-fpm

nginx配置 php-fpm套接字_第2张图片

进入 /etc/php-fpm.d

看到 www.conf

vim www.conf

nginx配置 php-fpm套接字_第3张图片

将 listen = 127.0.0.1:9000 注释掉

修改成 listen = /你自已指定的目录的/文件名.sock    但是这个目录一定要考虑权限问题 我们不妨把目录的权限设为 777

之后就可以 重启php服务了, 这时在你设定的目录中就会自动生成一个  文件名.sock的文件(这里先这样方在这里)

下一步就是在nginx 配置目录中 把 fastcgi_pass 127.0.0.1:9000 给注释掉

修改成 fastcgi_pass unix:/你自已指定的目录/文件名.sock   (可以参考第一个图)

然后,重启 nginx

此时在 地址栏中访问   域名/index.php  发现 nginx 给出了它的错误页面,到底是为什么呢

找错方法   查 看 nginx 的错误日志  

nginx配置 php-fpm套接字_第4张图片

nginx配置 php-fpm套接字_第5张图片

可以看到 连接.sock时出错,连接被拒绝了   

这时我的去看了一个 php-fpm 生成出为的 .sock文件,果然,它的文件 读写执行权限设置的很小 nginx没有权限 读取这个文件

所在我直接 又把这个.sock文件改成了 777   

再次访问 网址  成功

 

你可能感兴趣的:(nginx配置 php-fpm套接字)