Skip to content

部署自检与排障 ​

先看这三件事 ​

  1. 进程活着吗 —— docker ps / systemctl status gopanel
  2. 端口通吗 —— curl -i http://127.0.0.1:12395/api/auth/entry
  3. 日志说什么 —— docker logs -f gopanel / journalctl -u gopanel -f

后端启动日志中有启动自检与逐请求访问日志,关键字段:

  • listen_port / listen_port_source:最终生效端口与来源
  • 数据库连接摘要(密码脱敏为 ******)与失败原因

一键自检脚本 ​

前后端分离部署时:

bash
# 后端直连 + 前端代理 + 容器状态 + 日志输出
sh scripts/check-deploy.sh
sh scripts/check-deploy.sh --logs

前端能打开但接口没数据 ​

bash
# 1. 直连后端(跳过前端代理)
curl -i http://127.0.0.1:12395/api/auth/entry

# 2. 经前端代理(默认 12396)
curl -i http://127.0.0.1:12396/api/auth/entry
  • 第 1 步通、第 2 步不通 → Nginx 的 /api 反代目标不对
  • 两步都不通 → 后端没起来或端口 / 数据库配置不对,看后端日志

打不开后台(看到引导页) ​

说明安全入口已启用。用命令行取回地址:

bash
./GoPanel -se        # 容器内:docker exec gopanel /home/gopanel/GoPanel -se

忘记管理员密码 ​

bash
./GoPanel -rp        # 重置为 16 位随机密码并打印

登录一直失败 / 返回 429 ​

触发了登录失败锁定(默认连续 3 次失败锁定 5 分钟)。 到「设置 → IP 黑名单」解锁,或重启进程清空内存中的锁定记录。

宿主机功能(防火墙 / SSH / 端口)看不到宿主机 ​

容器部署需要挂载宿主机根目录并共享 PID 命名空间:

bash
-v /:/host:ro -v /var/log:/var/log:ro --pid=host

挂载点可用 GOPANEL_HOST_ROOT 修改(默认 /host)。

容器启动即退出(exec format error) ​

镜像架构与机器不匹配。dev 标签只有 arm64,amd64 机器请用 latest / <tag>。 amd64 机器确需运行 arm64 镜像时:docker pull --platform linux/arm64 ...(走 QEMU 模拟)。

数据库连不上 ​

  1. 检查环境变量 GOPANEL_DB_*(或配置文件 db.*)
  2. PostgreSQL 需要预先建库(不会自动建库)
  3. 宿主 127.0.0.1 在容器里指向容器自身,连宿主机请用宿主内网 IP 或 host.docker.internal

升级检测提示不自动降级 ​

开发版切回稳定通道时,若当前版本高于稳定通道最新版,系统提示不自动降级,需手动下载。

相关 ​

基于 AGPL-3.0 协议发布