Google Cloud Ubuntu虚拟机部署Frappe/Bench后访问404求助
排查Frappe/Bench Docker部署后404错误的步骤
1. 确认容器端口映射是否正确
执行docker ps,查看web服务容器(通常名称包含frappe-web或类似标识)的PORTS列:
- 若显示
0.0.0.0:80->80/tcp,说明主机80端口已正确映射到容器80端口; - 若映射的是其他端口(比如
0.0.0.0:8000->80/tcp),则需要访问http://ip_server:8000而非直接访问80端口。
2. 检查容器内部是否已创建站点
Frappe/Bench默认不会自动生成站点,这是引发404的常见原因:
- 进入web容器:
docker exec -it <web_container_id/name> bash - 创建新站点:
bench new-site your-site-name --admin-password your-password - 设置默认站点:
bench use your-site-name - 重启容器内的nginx服务:
service nginx restart
3. 查看容器内服务日志定位问题
- 查看nginx错误日志:
tail -n 20 /var/log/nginx/error.log,排查是否存在站点配置缺失、文件路径错误等信息; - 查看Frappe应用日志:
bench logs,确认应用服务是否正常启动,有无初始化失败的报错。
4. 验证Google Cloud防火墙规则
确保GCP虚拟机的防火墙允许目标端口(通常为80/443)的入站流量:
- 进入GCP控制台的「VPC网络」→「防火墙」;
- 确认存在针对该虚拟机的规则,允许
tcp:80(或你使用的映射端口)的流量来源(可暂时设置为0.0.0.0/0测试,之后再按需限制范围)。
5. 检查容器内Nginx配置
进入web容器后,查看Frappe的Nginx站点配置文件(通常路径为/etc/nginx/sites-enabled/frappe.conf):
- 确认
server块内的server_name是否匹配你的访问IP或域名; - 检查
location /和location /assets的配置是否正确指向Frappe的静态文件目录和WSGI入口。
内容的提问来源于stack exchange,提问作者Tiến Lê
相关产品推荐
相关产品推荐

