利用 php-fpm 为 nginx 增加 php 文件支持

1、安装php-fpm

比较简单,通过apt一行命令搞定。

apt install php-fpm


从控制台的log可以看到,php-fpm 的安装路径为 /etc/php/7.2/fpm/,同时建立了php7.2-fpm 的 systemd 服务。

2、查看监听

查看 php-fpm.conf 文件可知,属性信息位于 pool.d 文件夹下的项目内,打开发现 pool.d 文件夹中只有一个 www.conf ,打开并查找 listen 关键词,即可找到 socket 监听路径。


如图所示,我的监听路径为 /run/php/php7.2-fpm.sock

3、nginx 中加入 location 参数

可将下面的参数根据需要加入到 nginx 目录的 nginx.conf 文件中,也可以加入到 conf.d 的自配置文件中,根据个人情况自行选择即可。



注意:fastcgi_pass 改为自己的 php-fpm socket监听路径。

4、(可选)修改 fastcgi_params 参数

如果网站中的静态页面 .html 都能正常访问,而 .php 文件虽然会返回 200 状态码,但实际输出给浏览器的页面内容却是空白,你可能需要进行这部分操作。

具体原因是 nginx 无法正确的将 *.php 文件的地址传递给 php-fpm 去解析, 相当于 php-fpm 接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。

具体操作是打开nginx目录下 conf/fastcgi_params 文件,在文件顶部添加 下面的参数:

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;


之后重启 nginx 和 php-fpm 即可。

没有评论:

感谢每一条善意的建言和理性的讨论!

特殊时期开启审核制度敬请谅解。
挑衅和引战会被删除并永久拉黑。

Blogger 提供支持.