III. Robot Community¶
本文记录使用阿里云、1Panel 和 Halo 搭建机器人交流网站的基本流程,包括部署、域名绑定,以及评论和投稿功能的配置。
1 Introduction¶
之前利用github Pages建立的blog网站,虽然可以发布自己的一些笔记,但是属于静态网站。想要建立一个机器人交流的社区,拥有评论,留言功能,用户发帖等功能,这里选择利用halo建立该网站。
2 准备工作¶
| 组件 | 用途 |
|---|---|
| 阿里云服务器 | 运行网站,需要公网访问能力 |
| 域名 | 提供便于记忆的访问地址 |
| 1Panel | 管理服务器、应用、网站和证书 |
| OpenResty、数据库 | 分别负责网站入口和数据存储,可通过 1Panel 安装 |
| Halo | 管理文章、页面和用户 |
3 具体过程¶
3.1 配置云服务器和域名¶
在阿里云官网搜索中输入ecs,然后点击【云服务器ECS】

根据自己需求和能力选择购买即可,选择镜像Ubuntu。其他的一步一步操作就可以。
如果使用中国内地服务器,通过域名公开访问网站前,需要完成 ICP 备案。购买前应确认服务器是否满足阿里云的备案条件,参考阿里云说明。
然后,进步自己买的服务器里面,在【网络与安全组】中,按需放行以下 TCP 端口;如果服务器启用了系统防火墙,也需要同步配置:
- 80、443:用于 HTTP 和 HTTPS 访问(默认)。
- SSH 端口:用于远程管理,通常为 22(默认)。
- 1Panel 端口:以安装时设置或生成的端口为准。

随后,在域名解析控制台添加 A 记录,将域名指向服务器公网 IPv4。例如,使用 robot.example.com 时,主机记录填写 robot;使用根域名 example.com 时填写 @。这里的域名仅作示例。参考阿里云解析教程
3.2 安装 1Panel 和 Halo¶
通过 SSH 登录服务器,按照 1Panel 官方安装文档执行对应版本的安装命令。安装完成后,保存终端输出的面板地址、端口、安全入口和账号信息。
登录 1Panel 后:
- 在“应用商店”安装 OpenResty 和一种受支持的数据库(例如 MySQL)。
- 搜索 Halo,选择版本并安装。
- 选择已安装的数据库,填写数据库名、用户和密码。
- 将“外部访问地址”填写为网站最终使用的地址,例如
https://robot.example.com。 - 等待应用启动,出现异常时查看应用日志。
接着进入“网站 → 创建网站”,选择已安装的 Halo 应用,填写已经解析好的域名。安装 Halo 应用与创建网站是两个步骤,需要完成域名绑定后才能通过网站入口访问。参考 Halo 官方部署教程
3.3 配置 HTTPS¶
在 1Panel 的证书管理中创建 ACME 账户,为网站域名申请证书。可以使用 HTTP 验证,或通过 DNS 账户验证;选择 HTTP 验证时,需要保证域名解析和 80 端口访问正常。参考证书申请文档

申请成功后,在网站的 HTTPS 设置中选择证书,启用 HTTP 自动跳转到 HTTPS,并确认 Halo 的外部访问地址与最终地址一致。参考网站配置文档
对于支持自动续签的证书,开启自动续签,并定期检查续签结果。参考续签说明
3.4 初始化 Halo 和网站内容¶
通过 HTTPS 域名访问网站,按照引导创建管理员账号,完成初始化。
- 站点信息:填写名称、简介和站点描述。
- 主题与导航:选择兼容当前 Halo 版本的主题,设置首页、分类、留言和关于页面。
- 内容分类:例如 ROS、机器人控制、感知算法和项目实践。
- 测试文章:发布一篇包含文字、代码和图片的文章,检查电脑与手机上的显示效果。
前端就是自己刚才的设置的域名,后面直接加上“/console”,或者点击点击头像,选择“控制台”。

后端的控制台如下。

3.5 开启评论、留言和投稿¶
评论与留言
安装并启用兼容的评论组件插件,确认主题支持显示评论,并开启站点及对应文章、页面的评论功能。留言板可以采用“自定义页面 + 评论区”的形式实现。参考 Halo 评论组件说明,发文章的时候,可以选择是否允许评论。

用户注册与投稿
在站点设置中开启注册,配置邮件通知;如果启用注册邮箱验证,需要先确认邮件能正常发送。开放注册前,也应补充本站实际使用的用户协议和隐私政策。参考 Halo 站点设置
Halo 提供【投稿者】角色,允许用户提交文章,由管理员审核后发布。网站初期可给需要投稿的用户分配此角色;只有希望所有注册用户都能投稿时,才将其设为默认角色。参考 Halo 角色权限说明

4 进阶操作¶
网站能够访问后,再逐步完善以下事项:
- 备份与恢复:备份数据库、附件和相关配置,在服务器之外保留副本,并验证能否恢复。
- 更新维护:升级前查看更新说明,确认主题与插件兼容性,并先做备份。
- 旧文迁移:先迁移少量 GitHub Pages 文章,检查代码、图片和链接,再批量处理。