1.背景
最近有很多小伙伴来找我咨询自建博客的事情,也想自己建站,其实建站也没有想象中的那么复杂,特别是目前的开源社区,其实有很多的成熟博客框架可以直接使用,比如
- wordpress
- hexo
- typecho
- halo
等博客系统,也不用自己写代码,只需要配置完善优化好自己的页面,就能运行起一个漂亮的博客。
2.展示
其实我的博客也没有运行太久,都是慢慢优化而来,先后用过多个博客系统,但最喜欢的还是hexo和halo两款博客系统,也给大家展示一下。
3.准备
如果你想搭建一套环境,首先你需要一台云服务器(国内需要备案)、一个域名(可选),然后就可以开始了。
云服务器的操作系统使用Linux,我使用的是CentOS 7.9。
4.安装docker
这里以halo博客框架部署,halo更简单易用,也是用过最好用和完善的框架。安装halo前需要安装docker环境。
用ssh工具登录到服务器上,安装docker,使用一键盘脚本:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动并设置开机自启:
systemctl enable --now docker
5.安装halo
这部分内容参照官方文档。
mkdir ~/.halo && cd ~/.halo
下载示例配置文件到工作目录,可以根据自己的情况修改配置文件,我这里默认。
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
拉取新的halo镜像:
docker pull halohub/halo:1.5.3
创建容器:
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.5.3
备注:
- -it: 开启输入功能并连接伪终端
- -d: 后台运行容器
- --name: 为容器指定一个名称
- -p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
- -v: 工作目录映射。形式为:-v 宿主机路径:/root/.halo,后者不能修改。
- --restart: 建议设置为 unless-stopped,在 Docker
开放防火墙端口,注意云服务器需要在管控板里再开一次。
firewall-cmd --add-port=8090/tcp --permanent
firewall-cmd --reload
7.访问
使用http://ip:8090,其中ip为你的服务器ip,根据提示配置即可完成博客系统的搭建。
6.配置域名
将你的域名,解析一个a记录到你的服务器,使用NginxProxyManager来代理即可,需要具备公网ip。如果是内网的话,可以使用内网穿透一类的工具。
评论区