我们知道 nginx 中配置 php请求的转发方式有两用,一种是ip地址加端口号的方式
如图
第二种就是使用套接字的方式
fastcgi_pass unix:/mylearn/phpfpmsock/php-cgi.sock
第一种方式是php-fpm 的默认配置,不用多说
这里说第二种使用方式
首先 要找到 php-fpm配置文件 进行修改
怎么找呢
whereis php-fpm
进入 /etc/php-fpm.d
看到 www.conf
vim www.conf
将 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 的错误日志
可以看到 连接.sock时出错,连接被拒绝了
这时我的去看了一个 php-fpm 生成出为的 .sock文件,果然,它的文件 读写执行权限设置的很小 nginx没有权限 读取这个文件
所在我直接 又把这个.sock文件改成了 777
再次访问 网址 成功