最近买了一个服务器重新搭建了halo博客,发现版本更新了2.0以上跟以前版本安装有了点差别,就来说说我安装的时候遇到的问题吧~
Docker这个确实没有怎么接触过,但是确实比以前方便很多。我是安装的宝塔面板后在里面进行安装docker,这个步骤就略过有很多教程或者参考官方文档。
Docker Compose 部署
1.拉取镜像:
docker pull halohub/halo
2.第二步创建文件(可以参考文档,Halo 产生的所有数据都会保存在这个目录)
mkdir ~/halo && cd ~/halo
3.创建配置文件:docker-compose.yaml(这里不会命令创建文件,使用面板创建复制进去)
version: "3"
services:
halo:
#升级改下面halo:2.2.0这个版本号就OK!
image: halohub/halo:2.3.0
container_name: halo
restart: on-failure:3
volumes:
- ./:/root/.halo2
ports:
- "8090:8090"
command:
#修改ysql://XXX.XXX.XXX.XXX:3306/halodb,这是你外部数据库Mysql的地址,替换数据库IP或者域名都可以!端口号(3306)后面的是数据库名。
- --spring.r2dbc.url=r2dbc:pool:mysql://你的公网IP:3306/halodb
#下面sqlroot是数据库用户名。
- --spring.r2dbc.username=halodb
#下面是数据库密码
- --spring.r2dbc.password=root
#这是你用的数据库类型
- --spring.sql.init.platform=mysql
#域名
- --halo.external-url=这里填写你的公网IP或者域名
#下面两个是初始管理员账号和密码
- --halo.security.initializer.superadminusername=后台用户名(自己定)
- --halo.security.initializer.superadminpassword=后台密码(自己定)
这是我的配置文件的,文档里的看不懂的可以参考一下这个。
你的公网IP:“如果你是在面板安装创建的数据库就写公网ip,你是外部数据库就填写你自己链接地址就行”
我用的是MySQL数据库,默认是H2数据库文档建议是 PostgreSQL这个看你自己平时使用数据库的习惯,另外说一下创建成功MySQL是一张表采用的是PostgreSql扩展(EXTENSION )类型数据。
4.配置好后,运行命令即可
docker-compose up -d
3月16日更新
域名备案通过啦~~~,开始配置域名进行访问。
首先在宝塔页面创建自己的站点
创建成功后,点击右侧设置按钮-配置修改-配置Nginx
注释红框里的内容,将以下的内容复制到后面.
location / {
proxy_pass http://127.0.0.1:8090/; # 注意改成你实际使用的端口
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
配置完后,先不急我们在弄一个SSL证书,阿里云和腾讯云都有免费的证书可以整一个,宝塔上好像也可以申请。
将获取的证书的key与PEM填入,并开启强制HTTPS,这样进入域名访问是https
这样配置就差不多了,又回到halo文件里找到之前配置的docker-compose.yaml
这里之前是公网IP现在可以换为域名了,不然进入halo后会导致之前的图片加载不出来哦~
今天写到这里 后续问题持续更新…