阿里云服务器使用 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 面板

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

五、一键安装 Halo 所需环境

Halo 博客需要 OpenResty(反向代理)和 MySQL(数据库)支持。我们将通过 1Panel 的应用商店一键安装。

  1. 安装 OpenResty:在应用商店搜索 “OpenResty”,点击安装。
  2. 安装 MySQL:搜索 “MySQL”,选择 8.4.8 版本,点击安装。
  3. 安装 Halo:搜索 “Halo”,点击安装。

六、故障排除:Halo 安装慢或卡住

如果 Halo 在面板中安装卡住,可能是镜像拉取过慢,可手动拉取。

  1. 终止与卸载:在 1Panel 面板中,终止卡住的安装任务,并进行卸载。
  2. 手动拉取镜像:回到服务器终端,执行命令手动拉取 Halo 镜像。
sudo docker pull halohub/halo:2.23.1
  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 ⚠️ 高危操作,会删除数据


阿里云服务器使用 1Panel 部署 Halo
http://localhost:8090/archives/wei-ming-ming-wen-zhang-hHb06zyq
作者
一条自由的鱼
发布于
2026年05月02日
许可协议