缘起

真是不折腾不舒服斯基星人的“瘾”发作了。使用OSS部署静态博客已经有好几年的时间,还是决定迁移回标准的博客形式。
本篇详细记录博客迁移的过程。

服务清单

服务名称用途
Debain腾讯轻量云
Docker容器环境
MariaDB数据库
Typecho博客服务
CaddyWEB容器,主要用于做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。

标签: Docker

添加新评论