阿里云服务器使用 1Panel 部署 Halo
本文是一篇面向新手的详尽指南,记录了在阿里云轻量应用服务器(Ubuntu 24.04)上,从零开始通过 1Panel 面板搭建 Halo 博客的全过程。跟着步骤操作,你也能轻松拥有自己的博客。
一、服务器基础准备
1. 确认实例信息
登录阿里云控制台,确认你的轻量应用服务器实例处于 “运行中” 状态。本文演示环境配置如下:
- 实例区域:华南 3(广州)
- 系统版本:Ubuntu 24.04.2 LTS
- 配置:2 vCPU / 2 GiB / 40 GiB ESSD 云盘
2. 设置 root 密码
- 在实例详情页,点击 “重置密码”。
- 登录名选择 root。
- 设置方式选择 “在线设置密码”(无需重启,立即生效),输入新密码并确认。

3. 远程连接服务器
- 点击控制台的 “远程连接”,进入 Workbench 终端。
- 默认登录用户为
admin,输入以下命令切换到 root 账户:
sudo -i
二、安装 1Panel 运维面板
1Panel 是一款现代化的开源 Linux 服务器运维管理面板,能极大简化网站和应用的部署。
1. 执行一键安装命令
在 root 权限下,依次运行以下命令执行官方安装脚本:
curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh -o quick_start.sh
chmod +x quick_start.sh
sudo bash quick_start.sh安装过程中,脚本会询问安装目录(默认 /opt),并在检测到未安装 Docker 时提示你是否自动安装,输入 y 并回车确认即可。如果 Docker 下载慢,脚本会自动切换至阿里云镜像源,耐心等待即可。

2. 保存安装完成信息
安装成功后,终端会输出面板的访问地址、用户名和密码。这些信息至关重要,退出后无法再次查看,请务必截图或复制保存!

三、防火墙端口放行(关键步骤)
为了能从外部正常访问面板和后续搭建的网站,需要在双重防火墙上放行端口。
1. 系统内部 UFW 防火墙放行
在服务器终端,执行以下命令放行 SSH(22)和 1Panel(本文以 41423 为例)端口:
# 放行22端口(SSH连接)
sudo ufw allow 22/tcp
# 放行41423端口(1Panel面板)
sudo ufw allow 41423/tcp
# 启用防火墙
sudo ufw enable
# 查看防火墙状态,确认规则已生效
sudo ufw status
当看到 Status: active 并且规则列表中包含你刚才添加的端口,即为成功。

2. 阿里云控制台防火墙放行
回到阿里云轻量应用服务器控制台,进入 “防火墙” 页面,点击 “添加规则”:
- 应用类型:自定义
- 协议:TCP
- 端口:41423
- 来源:0.0.0.0/0(允许所有IP访问)
同理,后续需要搭建的 Halo(8090)、网站 HTTP(80)/ HTTPS(443)和 MySQL(3306)端口也需在此处按需放行。


四、登录 1Panel 面板
- 在浏览器中,访问刚刚安装时保存的 “外部访问地址”。
- 输入保存的 用户名 和 密码,完成登录。
- 登录后,你可以看到 概览、应用商店、网站、数据库 等功能模块,一切就绪。


五、一键安装 Halo 所需环境
Halo 博客需要 OpenResty(反向代理)和 MySQL(数据库)支持。我们将通过 1Panel 的应用商店一键安装。
- 安装 OpenResty:在应用商店搜索 “OpenResty”,点击安装。
- 安装 MySQL:搜索 “MySQL”,选择 8.4.8 版本,点击安装。
- 安装 Halo:搜索 “Halo”,点击安装。



六、故障排除:Halo 安装慢或卡住
如果 Halo 在面板中安装卡住,可能是镜像拉取过慢,可手动拉取。
- 终止与卸载:在 1Panel 面板中,终止卡住的安装任务,并进行卸载。
- 手动拉取镜像:回到服务器终端,执行命令手动拉取 Halo 镜像。
sudo docker pull halohub/halo:2.23.1- 等待镜像拉取成功后,再回到 1Panel 应用商店重新安装 Halo。
七、部署 Halo 网站
1. 创建站点
进入 “网站” -> “创建”:
- 分组:默认
- 名称:自定义(如:Halo 博客)
- 已装应用:选择 Halo
- 域名:填写你的服务器公网IP
- 端口:8090 确认创建,等待部署完成。

2. Halo 初始化配置
浏览器访问你的公网IP和端口,例如 http://8.134.217.120:8090,进入 Halo 可视化初始化页面,设置站点标题、管理员用户名、邮箱和密码,点击初始化。
- 访问后台:初始化成功后,访问
http://8.134.217.120:8090/login,输入刚才设置的管理员账号密码,即可进入 Halo 博客后台,开启你的创作之旅。
八、最终防火墙端口放行复核清单
请务必在阿里云控制台防火墙中确认以下端口已全部放行,以保证各项服务正常访问。
| 端口 | 协议 | 用途 |
|---|---|---|
| 22 | TCP | SSH 远程连接 |
| 80 | TCP | HTTP 网站访问 |
| 443 | TCP | HTTPS 网站访问 |
| 3306 | TCP | MySQL 数据库外部连接 |
| 41423 (请核对你自己的端口) | TCP | 1Panel 面板访问 |
| 8090 | TCP | Halo 博客直接访问 |
九、常见问题速查
- 1Panel 无法访问:检查阿里云防火墙 + 服务器 UFW 是否均已放行对应端口。
- Halo 安装卡住:采用第六章的手动
docker pull方法解决。 - 网站无法打开:确认 8090 端口已放行,并在 1Panel 容器列表中确认 Halo 容器处于“运行中”状态。
十、附录:常用命令速查
软件包管理 (Ubuntu/Debian)
| 命令 | 说明 |
|---|---|
sudo apt update |
更新软件源列表,安装软件前必执行 |
sudo apt upgrade -y |
一键升级所有已安装的软件包 |
sudo apt install <软件名> -y |
一键安装指定软件 |
sudo apt remove <软件名> -y |
卸载软件(保留配置文件) |
sudo apt purge <软件名> -y |
彻底卸载软件(删除配置文件) |
sudo apt autoremove -y |
清理不再需要的依赖包 |
网络与端口排查
| 命令 | 说明 |
|---|---|
ip addr |
查看服务器IP及网卡信息 |
ping <域名/IP> |
测试网络连通性(Ctrl+C 停止) |
curl -I <网址> |
查看网站HTTP响应头,用于排查站点状态 |
ss -tulpn |
查看所有端口占用情况(系统自带) |
lsof -i :<端口号> |
查看指定端口被哪个进程占用 |
sudo ufw allow <端口> |
开放系统防火墙端口 |
telnet <域名/IP> <端口> |
测试远程端口是否开放 |
1Panel 面板快捷命令
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看面板账户信息 | 1pctl user-info |
面板地址、用户名密码等 |
| 重置面板密码 | 1pctl reset |
快速重置管理员密码 |
| 修改面板端口 | 1pctl port <新端口> |
自定义安全入口端口 |
| 重启面板服务 | 1pctl restart |
解决面板无法访问问题 |
| 卸载面板 | 1pctl uninstall |
⚠️ 高危操作,会删除数据 |