Linux+Docker+1Panel+Halo搭建个人博客网站的教程。免备案网站搭建教程。纯小白教程,手把手教你搭建博客网站。更换一下主题也可以用做企业官网!

无需编程基础 | 容器化部署 | 全开源解决方案 | 支持HTTPS

视频教程:https://www.bilibili.com/video/BV11nPMeKEdK/


其他建站教程推荐:


简介

什么是个人博客

个人博客是一种在互联网上发布自己的文章、图片、视频等内容的平台,通常以文字为主要形式,但也可以包含其他媒体。

个人博客的用途非常广泛。它可以用来记录博主的日常生活、分享自己的知识和经验、展示自己的作品和技能,以及交流自己的观点和看法。通过个人博客,博主可以与读者建立联系,分享自己的见解和体验,同时也可以从读者那里获得反馈和建议。

博客最初的名称是Weblog,由web和log两个单词组成,按字面意思就为网络日记,后来喜欢新名词的人把这个词的发音故意改了一下,读成we blog,由此,blog这个词被创造出来。中文意思即网志或网络日志,不过,在中国大陆有人往往也将Blog本身和blogger(即博客作者)均音译为“博客”。

个人博客是互联网时代的"数字日记本",通过持续的内容输出可实现:

  • 💡 知识沉淀与经验分享
  • 💰 个人品牌变现(广告/付费内容)
  • 🚀 技术实践的最佳试验场
  • 📈 SEO流量获取工具

站长交流群:767557452

Halo简介

Halo是一款国产开源建站工具,基于 Spring Boot 开发,支持响应式编程(WebFlux)与多数据库适配(如 H2、MySQL)。其核心定位为轻量、易用且功能完备的博客框架,提供以下特性:

  1. 开箱即用:内置 Markdown编辑器、分类/标签管理、多主题切换(支持 Freemarker 模板引擎开发),无需复杂配置即可搭建动态博客。
  2. 扩展性强:支持插件化扩展(如评论系统、图库管理),并集成七牛云、阿里云 OSS 等第三方存储服务。
  3. 部署灵活:提供 Docker 镜像Java 原生部署方案,适配 Linux 服务器,可通过 Nginx 反向代理实现域名访问。
  4. 安全高效:采用容器隔离、RBAC 权限模型与响应式架构,保障高并发场景下的稳定性。

适用于个人博客、技术文档等轻量级站点,尤其适合希望快速搭建且具备一定定制需求的用户。

Halo官网: https://www.lxware.cn?code=zeruns (使用此链接或优惠码 zeruns 可以8折购买专业版,不过一般免费版都够用了)

Halo文档:https://url.zeruns.com/halo_docs

我博客英文站就是用Halo搭建的,可以看看:https://blog.zeruns.top/

1Panel简介

1Panel 是一款现代化、开源的 Linux 服务器运维管理面板,基于 Docker 容器化技术,旨在简化服务器管理和网站部署流程。其核心功能包括快速建站、高效管理、安全防护及一键备份恢复,尤其适合新手和开发者快速搭建个人或企业网站。

功能亮点

  1. 一键建站:深度集成 WordPress、Halo 等主流建站程序,支持域名绑定、SSL 证书自动配置,用户可通过应用商店直接安装,无需手动部署环境。
  2. 可视化运维:提供 Web 端图形界面,支持文件管理、数据库操作、容器编排及实时监控(CPU、内存、磁盘等),降低 Linux 命令行操作门槛。
  3. 安全与扩展性:通过最小化漏洞暴露面、防火墙配置及容器隔离技术保障安全;同时支持反向代理、静态网站部署及多语言运行环境(PHP/Java/Python 等),满足多样化需求。
  4. 跨平台兼容:适配主流 Linux 发行版(如 Ubuntu/CentOS)及 ARM 架构,支持云服务器与本地虚拟机部署。

适用场景:个人博客、企业官网、论坛等轻量级站点搭建,尤其适合追求高效、安全且希望减少运维复杂度的用户。

1Panel官网: https://www.lxware.cn?code=zeruns (使用此链接或优惠码 zeruns 可以8折购买专业版,不过一般免费版都够用了)

为何选择Linux+Docker?

  • Linux:服务器主流操作系统,资源占用低且稳定性强;
  • Docker:容器化技术实现环境隔离,避免依赖冲突,部署效率提升80%。

搭建流程概述

  1. 注册域名
  2. 购买云服务器
  3. 域名备案(如果不使用内地服务器可以忽略)
  4. 安装1Panel面板和Docker
  5. 创建Halo网站
  6. 设置网站

域名注册

什么是域名?

域名是网站的「门牌地址」,用于代替难记的IP地址数字串(如192.168.1.1)。例如输入 blog.zeruns.com 就能访问特定网站,无需记忆服务器IP。

域名结构分为三部分:

  1. 后缀(如.com)代表网站类型
  2. 主域名(zeruns)是自定义名称
  3. 子域名(blog)可自由设置

当用户输入域名时,DNS系统会自动将其转换为服务器IP地址完成访问。注册域名需通过阿里云等平台购买(年费约50元左右),然后将域名与服务器IP绑定解析即可开通网站。好的域名应简短易记,如taobao.com通过谐音让人印象深刻。

注册域名

可以去腾讯云阿里云雨云等平台注册域名,也可以使用雨云的免费二级域名。

下面以雨云的为例,注册一个zeruns.xyz的域名。

在云产品里找到域名服务。

点击域名注册,搜索你要注册的域名。

根据提示输入信息

填写完信息后点击立即注册,然后等待审核完成就行

如果你用的境内的服务器那还需要进行域名备案。

备案的流程就不细说,自己去了解一下就行。

温馨提示:购买3个月以上的腾讯云阿里云等大厂的境内云服务器可以免费提供代备案服务,购买皓量云擎雨云的境内服务器也可以免费提供代备案服务。


准备

首先需要一台云服务器,要有公网IP的,推荐皓量云擎的:

皓量云擎优惠注册地址https://www.haoliangyun.com/?source=blog&aff=zeruns

邀请码:zeruns(走链接或邀请码注册送5折和8折优惠券)

其他云服务器推荐:https://blog.zeruns.com/archives/383.html

皓量云擎 香港 轻量服务器 性能测评文章:https://blog.vpszj.cn/archives/2540.html

注册完账号后进到皓量云擎控制台,点击 轻量应用服务器立即购买,地域选中国香港(选香港服务器无需进行域名备案,方便很多。如果用户都是大陆的建议选境内的服务器,比如宁波呼和浩特,但境内服务器搭建网站需要进行域名备案,可以提工单联系服务商客服协助办理),套餐建议选2核4G,系统选Debian12,然后点击立即购买

点击管理进入到服务器控制台

点击 安全组→添加规则→入口 设置开放全部端口(也可以只开放用到的端口)


连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

SSH客户端软件下载地址:https://www.123pan.com/ps/2Y9Djv-UAtvH.html

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址(控制台获取),还有SSH端口(默认是22),然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码(密码在控制台获取)并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。


APT换源(境外服务器无需进行这步)

系统默认apt软件下载源是国外服务器,所以需要换国内镜像源,使用chsrc来换源。

在SSH终端,输入下面的指令(#开头的是注释,不用输入)。

# 下载安装chsrc
curl https://chsrc.run/posix | bash

# 自动测速,寻找最快者,换源
chsrc set debian


安装1Panel面板和Docker

在SSH终端里执行下面的命令,这个是1Panel的安装脚本,会自动把Docker也装上:

apt update && curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

如果出现这个选择语言,就按照提示输入编号并回车,我这里选 2. Chinese 中文(简体)

出现提示要设置安装目录的就直接回车使用默认的 /opt 目录

接着是设置面板的端口和账号密码,一般直接默认就行,账号密码可以自己输入一个,然后等待一会就安装好了,记住下面这个面板地址和账号密码

在浏览器地址栏输入面板地址登陆进去。


设置域名解析

到域名解析控制台,添加记录,主机名称自己输入一个名字,比如输入blog,访问网站的时候就是blog.zeruns.top ,输入@,访问网站就直接访问 zeruns.top,记录值输入自己服务器的IP。


安装OpenResty和MySQL

OpenResty 是一个基于 Nginx 的高性能 Web 应用服务器,它将 Nginx 与 Lua 编程语言集成在一起,提供了强大的功能和灵活性。这里用来反代Halo程序。

MySQL是一个流行的开源关系型数据库管理系统(RDBMS),它提供了丰富的功能,适用于各种应用场景。

注意:如果是境内服务器需要先去 容器配置 这里设置镜像加速(设置项下有文档链接教你如何设置)

点击应用商店,把OpenResty和MySQL都安装上,设置都默认就行。

MySQL的root密码可以自己设置一个,但建议用默认的随机生成的密码


安装Halo应用和创建网站

首先点击数据库创建一个数据库用于Halo博客,数据库名称自己定,账号密码也是自己设一个。

回到应用商店这里,安装Halo

数据库名、数据库用户、数据库密码改成刚刚创建的数据库,外部访问地址改成你注册的域名,比如我这里是 http://blog.zeruns.xyz

完成 Halo 应用的安装后,此时并不会自动创建一个网站,我们需要手动创建一个网站,然后将 Halo 应用绑定到这个网站上才能使用域名访问。

点击 1Panel 菜单的 网站,进入网站列表页,点击 创建网站 按钮。

  1. 在已装应用中选择我们刚刚新建的 Halo 应用。
  2. 正确填写主域名(我这里是 blog.zeruns.xyz),需要注意的是需要提前解析好域名到服务器 IP。

最后,点击确认按钮,等待网站创建完成即可访问网站进行 初始化。

成功安装了 Halo,在浏览器地址栏输入你网站域名访问网站的时候会自动跳转到初始化页面,你需要完成这个步骤才能正常使用 Halo。

表单项说明:

  1. 站点标题:网站的名称,将会显示在浏览器标签页上。
  2. 用户名:初始管理员的用户名。
  3. 电子邮箱:初始管理员的邮箱地址。
  4. 密码:初始管理员的密码。
  5. 确认密码:重复输入密码以验证是否匹配。

输入完成之后点击初始化按钮即可完成初始化,初始化完成之后,将会跳转到登录页面,输入刚才设置的用户名和密码即可登录。

初始化完成后会跳转Halo后台登陆页面,输入你初始化时设置的管理员用户名和密码即可登陆博客后台。


更换博客主题和安装插件

在博客后台应用市场这里挑选自己喜欢的主题和插件,然后点击安装就可以。

然后点击 主题→主题管理 这里就可以切换和设置主题了。

然后点击 插件 这里就可以启用或关闭插件,以及设置插件(点击对应插件的标题可以进到插件的设置页面)

在设置这里可以修改网站标题、logo、SEO等等

切换到Sakura主题后网站首页的效果


开启HTTPS/SSL

开启SSL后可以以https形式访问网站,与网站之间的通信会加密,这样浏览器就不会显示不安全了。

如下图所示,在1Panel面板中找到证书,点击Acme账户,先创建一个Acme账户,账号类型选ZeroSSL(我个人偏向喜欢ZeroSSL的证书),然后输入你自己的邮箱地址后点确认

接着在DNS账户这里添加雨云,可以自动设置域名解析方便自动续签SSL证书,你也可以不设置这一步,等会申请SSL证书时去雨云控制台手动设置域名解析就行。

雨云控制台账号设置那获取API密钥填进去,名称随便填一个就行

然后点击申请证书,选择上面创建的网站,确认。等待一会就可以看到证书申请成功了。

点击 网站配置HTTPS启用HTTPS,选择刚刚申请的SSL证书,然后点击保存。

再次访问博客网站,可以看到地址栏上显示了一个小锁。

教程到此结束,可以自己慢慢探索建站的乐趣,比如可以使用CDN服务来加速网站访问等等。


推荐阅读

English Version of the Article: https://blog.zeruns.top/archives/47.html



最后修改:2025 年 02 月 23 日
如果您觉得我的文章有帮助,请随意赞赏,赞赏有助于激发博主的热情,感谢!