今天在安装一个全新的lnmp环境,遇到了一个奇怪的问题,同目录下的html文件可以访问,但是php文件不能访问。下面把我的软件信息和拍错过程分析给大家。
Linux:Ubuntu16.0.1
NGINX: 1.10.3
MySQL: 5.7
PHP:7.0.22
以上软件均通过apt-get安装。
在发现php文件找不到后,我开始枚举最可能出现的问题:
1. NGINX配置中的PHP文件路径写错了
2. php-fpm启动失败了
通过检查,以上两点均没问题。
下面开始检查9000的占用情况,果然,9000端口没有被被占用!
再次检查php-fpm的日志,并没有发现异常。
下面我开始检查php-fpm的配置文件中的listen部分,发现如下配置:
listen = /run/php/php7.0-fpm.sock
通过查找,并没有找到/run/php/php7.0-fpm.sock文件,那么问题很可能出现在这里了。
我把此处配置改成了 listen = 9000
重启php-fpm,PHP页面可以正常访问了。
注:/run/php/php7.0-fpm.sock文件不存在的原因我暂时还没找到,知道的朋友可以在留言区留言,帮助我,也帮助遇到同样问题的大家。
fastcgi_pass为配置nginx与php-fpm的交互路径,一般有两种方式
sock方式:fastcgi_pass unix:/tmp/php-cgi.sock;
http方式:fastcgi_pass 127.0.0.1:9000;
学习了