1、Docker安装Halo与MySQL教程
用Docker安装个人博客的好处
0x00 创建 Docker 自定义桥接网络
docker network create halo-net
0x01 拉取 MySQL
镜像
docker pull mysql:8.0.27
0x02 创建 MySQL
数据目录
1 | [root@yoon ~]# mkdir -p ~/.halo/mysql |
1 | 释义 |
0x03 进入 MySQL 容器中登录 MySQL 并创建 Halo 需要的数据库
- (1) halo-mysql 为 MySQL 实例的容器名称
进入halo-mysql容器
docker exec -it halo-mysql /bin/bash
修改/etc/mysql/my.cnf
① 首先测试容器是否有vim或者vi命令
在图中可看到无vim包,apt-get换源下载vim,国内访问镜像站实在是太慢了,所以需要换源,但是因为无法编辑文件,所以需要绕一下。因为该源是不用GPG验证的,可能不安全,但因为docker容器没有验证GPG的工具所以只能先用这个源,最后再换回正式源。
1 | 复制原文件备份 |
修改后的docker中mysql端口号为33077
重启mysql
docker restart halo-mysql
使用dcoker logs docker_name
可以查看docker日志
- (2) 登录 MySQL
1 | mysql -u root -p |
- (3) 输入 MySQL 数据库密码
- (4) 创建数据库
1 | #查看端口号 |
使用Navicat测试能否连接IP:3307的数据库
- (5) 使用
exit
退出MySQL
并退出容器
0x04 创建 Halo
工作目录
mkdir ~/.halo && cd ~/.halo
0x05 下载示例配置文件到工作目录
1 | wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml |
0x06 编辑配置文件,配置数据库,其他配置请参考参考配置
vim application.yaml
你需要做如下几个步骤:
- 注释 H2 database configuration.部分
- 启用 MySQL database configuration.部分
- 修改 datasource 下的 url 中的 ip 地址部分为容器名称并修改密码为您设定的
MySQL
密码
修改后的内容如下:
1 | spring: |
0x07 创建Halo容器实例
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --net halo-net --restart=unless-stopped halohub/halo:1.5.1
0x08 打开 http://ip:端口号
即可看到安装引导界面
0x09 如果有域名,可以使用 Caddy 进行反向代理
1、安装caddy
caddy目前是不支持centos8的,所以我的服务器版本是centos 7.6
1 | 安装 Caddy 软件包,-y代表下载过程不询问 |
Caddyfile.conf模板如下:
1 | https://www.simple.com { |
- 把 https://www.simple.com 改为自己的域名,即自己申请的域名。
- tls 后面的 xxxx@xxx.xx 改为自己的邮箱地址,这是用于自动申请 SSL 证书用的。需要注意的是,不需要你自己配置 SSL 证书,而且会自动帮你续签。
- localhost:port 请将 port 修改为 Halo 的运行端口,默认为 8090。
2、修改完成后启动Caddy服务
1 | 开启自启 Caddy 服务 |
到这里,关于 Caddy 反向代理的配置也就完成了,现在你可以访问一下自己的域名,并进行 Halo 的初始化了。
如果访问不了,可能是80号端口被占用了,查看一下80号端口使用情况。
要注意一点是博客地址应改为你的域名地址,否则会造成资源获取不成功。
直接用域名访问Halo即可。
2、Wordpress安装
1 | 先创建MySQL |
输入IP:8000即可访问wordpress