Nginx + PHP-fpm File not found.问题解决记录
程序员文章站
2022-04-01 11:14:24
...
这篇文章介绍的内容是关于Nginx + PHP-fpm File not found.问题解决记录,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
现象确认:
打开浏览器的开发者工具,查看请求信息
HTTP/1.1 404 Not Found
Server: nginx/1.11.10
Date: Fri, 20 Apr 2018 08:10:13 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.30
说明结果是由FastCGI返回的。
问题原因:
估计是跟权限有关系
相同的配置,使用以下两个:
/opt/local/share/nginx/html /opt/local/share/nginx/html/php
目录都可以,但使用:
/Users/xxx/Downloads/workForder
目录却不可以。
通过 ls -l 查看权限,发现区别在于
/Users/xxx/Downloads/workForder
目录中的文件没有扩展属性,也就是没有@符号。
后来修改Nginx的静态文件root目录到:
/Users/xxx/Downloads/workForder
访问出现:
403 forbidden错误
再看 nginx 403 ,找到问题原因了,需要修改配置文件中的user 和 group。
nginx的格式是:
user 你的用户名/root owner; 比如: user root owner;
PHP-fpm的分别修改:
user = root group = owner
然后重新启动。
PHP-fpm 自身没有重启的命令,比较坑!只能杀进程了。
配置文件:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /Users/xxx/Downloads/workForder; # root /opt/local/share/nginx/html/php; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }
这里只展示与PHP有关的部分。当我在配置中加入
try_files $uri =404;
后,就会看到由Nginx返回的:
访问PHP文件时,你可能会看到下面这样的错误:
那是因为FastCGI没有启动,需要启动:
sudo php-fpm -D
而如果Nginx和PHP的都指向同一个目录,那么还是会看到:
File not found
以上就是Nginx + PHP-fpm File not found.问题解决记录的详细内容,更多请关注其它相关文章!
上一篇: Java8中关于函数引用的使用方法介绍