1Panel | 安装 Halo 应用报错404/500/502/504解决方法

唔嘫worable 发布于 2026-01-14 20 次阅读 725 字 预计阅读时间: 3 分钟


AI 摘要

宝宝读完啦,讲的是一个人在1Panel上装Halo的故事。 开头讲讲,有人从宝塔换到1Panel,以为都是飞致云家的会很方便,哇,结果套上CDN就出错啦,并不能一键搞定。 然后然后,讲讲怎么装: 先装MySQL数据库,再装Halo-Pro,然后要去你的域名/system/setup页面做初始化。 这里超厉害!有四个报错要修修: **第一个,容器一直重启**,日志写"Killed"。这是什么呀?原来是内存不够,被Linux系统强制关掉啦!要去应用商店找到Docker小图标,点编辑,翻到最底下改改资源限制,把内存改成512MB或更高,保存后再启动就好啦。装完初始化后,可以改回256MB省内存。 **第二个,404或500报错**,说"Connection validation failed"。这是什么呀?原来是容器连不上数据库!要去数据库页面看看连接信息,复制那个长长的容器名字(比如1Panel-mysql-CK4l),然后去编辑Halo容器的命令,把里面的`mysql`换成刚才复制的名字,保存启动就好啦。 **第三个,502报错**,大概是容器睡着啦,去应用商店点点启动按钮叫醒它。 **第四个,504报错**,大概是CDN配置错啦,无法回源,要检查检查CDN设置。 宝宝帮你讲完啦,这样部署Halo就不会报错啦!

从宝塔换到1Panel,我以为Halo与这个1Panel都是飞致云家的,可能更方便部署维护...

结果套了cdn之后访问网站出现各种错误...还是需要自己探索才可以解决,并不能真的一键部署...

安装

就是正常安装。

安装MySQL数据库 & Halo-Pro

个人推荐这个视频教程:https://www.bilibili.com/video/BV1bZxceVEWz/

系统初始化

访问 你的域名/system/setup ,进入系统初始化页面。

报错解决方法

Halo容器一直在重启

那大概也在日志看到容器一直在重启,提示halo | Killed 。

这表示 容器 halo 被系统强制终止(Killed),通常不是由应用自身抛出的异常,而是 宿主机操作系统(Linux)主动杀掉了该进程

根本原因内存不足(OOM - Out Of Memory)

  1. 前往“应用商店 - 全部”,点击顶部的docker(容器)小图标。
  1. 点击编辑按钮。
  1. 翻到页面最低部,在卡片菜单栏选择“资源”,修改内存限制为512MB或更高。
  1. 点击底部“确认”按钮保存。
  2. 回到“应用商店 - 全部”,手动点击“启动“按钮再次启动容器。

首次部署halo,推荐设置内存限制为512MB或更高,如需节约内存,请在系统初始化页面配置完成后,修改内存限制为256MB。

404/500报错

那大概也在日志看到容器一直在报错,报 Connection validation failed

其实,使用1Panel自动部署的所有容器都无法正常连接数据库。当然,我在网上也找不到类似教程,最终在@youdiandongxi/1panel-mysql-error这篇文章找到了解决方法。

我结合自己的经验总结了一下,你可以继续跟着本站的教程修复此问题。

  1. 前往“数据库 - MySQL",点击“连接信息”按钮。
  1. 复制容器连接的地址,对应就是下图的1Panel-mysql-CK4l 这段内容。
  1. 前往“应用商店 - 全部”,点击顶部的docker(容器)小图标。
  1. 点击编辑按钮。
  1. 翻到页面最低部,在卡片菜单栏选择“命令”,修改Command输入框内的内容。
# 修改之前:
--spring.r2dbc.url=r2dbc:pool:mysql://mysql:3306/halo_ejt53t

# 修改之后:
--spring.r2dbc.url=r2dbc:pool:mysql://1Panel-mysql-CK4l:3306/halo_ejt53t

也就是将这一小段命令其中的mysql替换为1Panel-mysql-CK4l ,后面的命令保持原样。

  1. 点击底部“确认”按钮保存。
  2. 回到“应用商店 - 全部”,手动点击“启动“按钮再次启动容器。

502报错

遇到502报错那大概率是把容器关闭了,前往“应用商店 - 全部”,手动点击“启动”即可解决。

504报错

大概率是你cdn配置错了无法回源。