Nginx + PHP-fpm File not found.问题解决记录(收藏)

妖狐艹你老母 2022-11-28 13:30 235阅读 0赞

这篇文章介绍的内容是关于Nginx + PHP-fpm File not found.问题解决记录,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

现象确认:

打开浏览器的开发者工具,查看请求信息

粉丝福利,感谢大家一直以来的支持,特此整理了进阶资料分享给大家,大厂必备面试题:

面试12家公司,收获9个offer,2020年PHP 面试问题

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

format_png

说明结果是由FastCGI返回的。

问题原因:

估计是跟权限有关系

相同的配置,使用以下两个:

  1. /opt/local/share/nginx/html
  2. /opt/local/share/nginx/html/php

目录都可以,但使用:

  1. /Users/xxx/Downloads/workForder

目录却不可以。

通过 ls -l 查看权限,发现区别在于

  1. /Users/xxx/Downloads/workForder

目录中的文件没有扩展属性,也就是没有@符号。

后来修改Nginx的静态文件root目录到:

  1. /Users/xxx/Downloads/workForder

访问出现:

403 forbidden错误

再看 nginx 403 ,找到问题原因了,需要修改配置文件中的user 和 group。

nginx的格式是:

  1. user 你的用户名/root owner;
  2. 比如:
  3. user root owner;

PHP-fpm的分别修改:

  1. user = root
  2. group = owner

然后重新启动。

PHP-fpm 自身没有重启的命令,比较坑!只能杀进程了。

配置文件:

  1. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  2. #
  3. location ~ \.php$ {
  4. root /Users/xxx/Downloads/workForder;
  5. # root /opt/local/share/nginx/html/php;
  6. fastcgi_pass 127.0.0.1:9000;
  7. fastcgi_index index.php;
  8. include fastcgi.conf;
  9. }

这里只展示与PHP有关的部分。当我在配置中加入

  1. <br>
  2. try_files $uri =404;
  3. 后,就会看到由Nginx返回的:

format_png 1

访问PHP文件时,你可能会看到下面这样的错误:

format_png 2

那是因为FastCGI没有启动,需要启动:

  1. sudo php-fpm -D

而如果Nginx和PHP的都指向同一个目录,那么还是会看到:

File not found

以上就是Nginx + PHP-fpm File not found.问题解决记录的详细内容

#

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。

发表评论

表情:
评论列表 (有 0 条评论,235人围观)

还没有评论,来说两句吧...

相关阅读