迁移博客至Debian&Typecho
缘起
真是不折腾不舒服斯基星人的“瘾”发作了。使用OSS部署静态博客已经有好几年的时间,还是决定迁移回标准的博客形式。
本篇详细记录博客迁移的过程。
服务清单
服务名称 | 用途 |
---|---|
Debain | 腾讯轻量云 |
Docker | 容器环境 |
MariaDB | 数据库 |
Typecho | 博客服务 |
Caddy | WEB容器,主要用于做HTTPS,网站管理 |
安装
安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
安装好后,需要添加到自启动中:
systemctl enable docker
然后配置一下使用腾讯云的加速:
vim /etc/docker/daemon.json
在这个JSON文件中添加以下内容:
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
安装mariadb
依次进行安装吧。其中的<password>
请配置为对应的账号密码。
本章节安装完成后,将创建好对应的typecho
的数据库、账号信息。这两那信息需要仔细保存下来。
docker pull mariadb
docker run --name mariadb -P -e MYSQL_ROOT_PASSWORD=<password> -d mariadb
docker exec -it mariadb bash
mariadb -u root -p
create database typecho character set utf8mb4;
create user 'typecho'@'%' IDENTIFIED BY '<password>';
grant all on typecho.* to typecho;
flush privileges;
安装好后,需要查看一下在Docke内部的IP是多少。
查看一下在Docker内的IP:
docker inspect mariadb | grep IPAddress
拿到IP后,记录下来,后面放置在Typecho的配置中。
安装typecho
这里将端口映射为8080端口。
docker run --name typecho-server -d \
-e TYPECHO_SITE_URL=https://your-domain.com \
-p 8080:80 \
joyqi/typecho:nightly-php7.4-apache
安装启动,后续再进行配置。
安装caddy
咱们先配置好访问信息。
vi /etc/caddy/Caddyfile
在该文件内添加以下内容:
www.taliove.com, taliove.com {
redir https://blog.taliove.com{uri}
}
https://blog.taliove.com {
encode gzip
reverse_proxy 127.0.0.1:8080 {
header_up Host {host}
header_up X-Real-IP {remote}
header_up X-Forwarded-For {remote}
header_up X-Forwarded-Port {server_port}
header_up X-Forwarded-Proto {scheme}
}
}
再直接启动Caddy吧:
docker rm -f caddy
docker run -d --restart=always --privileged --name caddy --net=host \
-v /etc/caddy/Caddyfile:/etc/caddy/Caddyfile \
-v /etc/caddy/data:/data \
-v /etc/caddy/tls:/etc/caddy/tls \
caddy:latest
初始化Typecho
这一过程就此略过,比较简单。直接访问好对应的域名,根据指示操作即可。
这里要特别注意的是数据库的IP必须是Docker的内部IP。