nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态,不能正常解析php
系统有其他两个站访问是正常的
看日志没有看到明显的错误
搜索了下:
答案如下:
php的时候会变成下载:这是因为nginx没有设置好碰到php文件时,要传递到后方的php解释器。
看看你的nginx.conf配置,里面有没有这样的设置:
location ~ .*\.php$ {
fastcgi_pass 127.0.0.1:9000;
}
上面的意思,就是说,碰到.php结尾的文件,传递给后方127.0.0.1的9000端口上。
当然啦,你的php-fpm解析器也需要正常运行,并监听好9000端口,才能最终生效并有效处理php脚本。
环境中的PHP配置:
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
发现是location在匹配的时候没有.*
加上问题解决,在虚拟机里面模拟环境没有加.*正常解析,没有想明白
有时候访问html也报错403 forbidden
此时可以替换nginx.conf中的运行用户如 user nginx 改为 user yunva等目录的高权限用户,或者换成root来调试