Hello! 欢迎来到小浪资源网!


Ubuntu Nginx部署PHP项目时,所有接口都返回404错误该如何解决?


Ubuntu Nginx部署PHP项目时,所有接口都返回404错误该如何解决?

ubuntu nginx 部署 php 项目时遇到 404 错误如何解决?

ubuntu 系统下使用 nginx 部署 php 项目,通常需要进行一些配置。如果您遇到了所有接口都返回 404 错误的情况,可能是配置中存在问题。

检查配置文件

仔细检查您的 conf.d 中的配置是否正确。通常,此文件应包含以下内容:

立即学习PHP免费学习笔记(深入)”;

server {         listen        80;         server_name  www.example.com;         root   /var/www/html;         location / {             index  index.html index.htm index.php;             if (!-e $request_filename) {             rewrite  ^(.*)$  /index.php?s=/$1  last;             break;           }          }         location ~ .php(.*)$ {             fastcgi_pass   127.0.0.1:9000;             fastcgi_index  index.php;             #下面两句是给fastcgi权限,可以支挿?s=/module/controller/action的url访问模式             fastcgi_split_path_info  ^((?u).+.php)(/?.+)$;             fastcgi_param  script_filename  $document_root$fastcgi_script_name;             #下面两句才能真正支持 index.php/index/index/index的pathinfo模式             fastcgi_param  path_info  $fastcgi_path_info;             fastcgi_param  path_translated  $document_root$fastcgi_path_info;             include        fastcgi_params;         } }

重点检查以下部分:

  • server_name:确保此字段设置为您的域或服务器 ip 地址。
  • root:指定项目文档根目录的路径。
  • fastcgi_pass:指定 php-fpm 正在监听的地址。
  • fastcgi_index:指定 php-fpm 应查找的索引文件。
  • rewrite 规则:此规则允许以 index.php 开头的 url 访问项目。

如果以上配置正确,请确保 php-fpm 正在运行,并且端口 9000 已开放。您可以使用以下命令检查:

sudo systemctl status php7.4-fpm

如果仍然遇到问题,请检查以下内容:

  • php 版本:确保已安装与项目兼容的 php 版本。
  • 文件权限:确保 php-fpm 进程可以访问项目文件。
  • 防火墙:确保端口 80 未被防火墙阻止。

如果您通过了所有这些检查,但仍然遇到 404 错误,请尝试重新启动 nginx 和 php-fpm 服务:

sudo systemctl restart nginx sudo systemctl restart php7.4-fpm

相关阅读