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

Laradock部署Lumen应用出现Nginx 404错误求助

解决Laradock部署Lumen应用出现Nginx 404的问题

以下是逐步排查和解决的方案:

1. 验证容器内文件映射是否正确

Laradock中APP_CODE_PATH_HOST=../会将主机的MicroservicesPHP目录映射到容器内的/var/www目录,因此主机的blog目录应对应容器内的/var/www/blog。执行以下命令验证:

# 进入nginx容器
docker-compose exec nginx bash
# 检查容器内public目录是否存在index.php
ls -l /var/www/blog/public

如果文件不存在,确认主机MicroservicesPHP/blog/public目录是否存在,同时检查Laradock的.env文件中APP_CODE_PATH_HOST是否正确设置为../,确保docker-compose的卷映射生效。

2. 检查Nginx根目录权限

即使文件存在,Nginx进程可能因权限不足无法读取。在容器内执行以下命令修复权限:

# 设置目录所有者为Nginx运行用户www-data
chown -R www-data:www-data /var/www/blog/public
# 设置目录权限为755(读/执行权限开放)
chmod -R 755 /var/www/blog/public

3. 确认hosts映射生效

在Windows终端执行以下命令验证:

ping blog.test

若返回IP不是127.0.0.2,需确认C:\Windows\System32\drivers\etc\hosts文件已用管理员权限编辑并保存,之后刷新DNS缓存:

ipconfig /flushdns

4. 查看Nginx错误日志定位具体问题

容器内的错误日志已配置为/var/log/nginx/blog_error.log,执行以下命令查看日志:

docker-compose exec nginx cat /var/log/nginx/blog_error.log

日志会明确提示错误原因(如文件不存在、权限不足、PHP解析失败等),针对性解决。

5. 确保Lumen应用的public目录结构正确

确认主机MicroservicesPHP/blog/public目录下存在index.php文件,这是Lumen应用的入口文件。若为新创建的应用,需确认通过官方命令正确生成:

composer create-project laravel/lumen blog

6. 重启Nginx容器加载最新配置

修改Nginx配置后,需重启容器确保配置生效:

docker-compose restart nginx

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:46:12