You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Drupal本地环境时nginx无法找到index.php文件问题咨询

Nginx/Docker返回File not Found错误的可能原因
  • 挂载路径不匹配:Nginx和PHP-FPM两个容器的项目根目录挂载路径必须完全一致,如果docker-compose.yml中两个服务的挂载配置不同,Nginx传递给PHP的文件路径在PHP容器内不存在,就会返回404。比如Nginx内文件路径为/var/www/html/index.php,但PHP容器内同一路径下没有对应文件,就会触发该错误。
  • 权限配置错误:Ubuntu宿主机用户的UID/GID和容器内运行PHP/Nginx服务的用户UID/GID不匹配,会导致容器没有权限读取你创建的index.php文件,表现为文件不存在。可检查.env文件中PROJECT_USER_ID、PROJECT_GROUP_ID参数是否和你宿主机当前用户的UID/GID(可通过id命令查询)一致。
  • Nginx根目录配置错误:docker4drupal默认的Nginx站点根目录为/var/www/html/web,如果你把index.php放在项目根目录而非web子目录,或者修改了NGINX_SERVER_ROOT环境变量后和实际挂载路径不匹配,Nginx就找不到目标文件。
  • 挂载规则配置错误:如果docker-compose.yml中挂载的宿主机路径填写错误,或者宿主机路径和容器路径写反,会导致容器内根本没有你创建的index.php文件。可以分别执行docker compose exec nginx ls 你配置的站点根目录路径和docker compose exec php ls 你配置的站点根目录路径,确认文件在两个容器内都存在。
  • 端口/域名匹配错误:确认你访问的http://drupal9doc1.localhost:8000确实对应你本次启动的Nginx服务,没有和本地其他运行的Docker服务端口冲突,访问到其他服务自然找不到对应文件。
  • PHP-FPM服务异常:执行docker compose ps查看PHP服务的运行状态,如果PHP服务启动失败或者异常退出,Nginx无法转发PHP请求,也会返回File not found错误。

内容的提问来源于stack exchange,提问作者nathan111777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 07:12:03