Halo博客搭建
About 3 min
1. 购买服务器
需要购买服务器,内存至少 1G,这里以腾讯云为例,进入官网腾讯云选购自己的服务器即可,推荐轻量应用服务器。购买以后装入 centos 系统
防火墙开放 8090 端口
2. 安装Docker
以下为 centos 系统安装教程,其他系统请参照官网教程官网
2.1 登录自己的服务器
2.2 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.3 更新、安装必备软件
apt-get update && apt-get install -y wget vim
2.4 获取安装包
sudo yum install -y yum-utils
2.5 设置镜像仓库
官方镜像:(比较慢,不推荐)
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
阿里镜像仓库 :(推荐)
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.6 安装docker
安装前先更新 yum 软件包索引
yum makecache fast
安装 docker-ce(社区版-免费的)
sudo yum install docker-ce docker-ce-cli containerd.io
2.7 启动docker
sudo systemctl start docker
2.8 判断是否成功安装docker
docker version
2.9 设置docker开机自启动
systemctl enable docker
3. 使用Docker部署 Halo
建议查看官方教程
4. 进入后台安装
通过访问 IP:端口号即可访问安装引导界面
安装完即可
5. 购买域名 (可选)
进入腾讯云官网腾讯云选购
注意:服务器与域名最好选用同一厂商,不然可能会莫名报错,配置失败
添加域名解析,如图
6. 反向代理 (可选)
6.1 安装Docker Compose
6.1.1 下载安装
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
推荐使用下面这个,国内访问较快
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
6.1.2 给执行权限
sudo chmod +x /usr/local/bin/docker-compose
6.1.3 查看docker-compose版本
docker-compose --version
6.2 部署Nginx Proxy Manager服务
6.2.1 创建一个与此类似的 docker-compose.yml文件
mkdir ~/npm #创建一个目录用来安装此服务
cd ~/npm #进入目录
vim docker-compose.yml #将以下代码粘贴到里面然后保存退出
version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
6.2.2 在当前目录运行以下命令安装此服务
sudo docker-compose up -d #部署服务
6.2.3 安装完以后进入81端口登录
默认登陆名和密码:
Email: admin@example. com
Password: changeme
按如下图设置即可
最后就可以通过域名进行访问了
7. 开始写博客
配置好图床使用 GitHub 图床或阿里云对象存储搭建图床,使用 MarkDown 语法就可以愉快的发布文章啦!