说明与准备
使用 Docker + Typecho 运行博客系统,容器化方便备份、迁移和部署
使用 Typora + PicGo + Snipaste 管理文章和图片
需要用到的资源:
部署 Typecho
需要用到的资源:
- 轻量应用服务器 / 1核2G / Ubuntu 20.04
- 域名 / SSL 证书
- Docker 20.10.7 / Ubuntu:20.04
- nginx 1.18.0 / php8.0-fpm
- typecho 1.2.0
步骤一、安装 docker
安装并启动 docker
apt-get update
apt-get intall docker.io
systemctl enable docker
systemctl start docker
步骤二、下载 ubuntu 镜像
下载 ubuntu 镜像并启动和进入
docker pull ubuntu:20.04
docker run -tid -p 80:80 -p 443:443 --name typecho ubuntu:20.04 /bin/bash --login
docker exec -ti typecho /bin/bash --login
步骤三、安装 php 和 nginx
进入 docker 容器中安装 php8 和 nginx
apt-get install nginx
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get install php8-fpm php8.0-mbstring php8.0-sqlite3
步骤四、安装 typecho
准备并上传 SSL 证书文件和 typecho 安装包到 docker 容器中
docker cp ~/6404467_yezhem.com.key typecho:/root/
docker cp ~/6404467_yezhem.com.pem typecho:/root/
docker cp ~/typecho.zip typecho:/var/www/html/
进入 docker 中解压 typecho 安装包
cd /var/www/html/
unzip typecho.zip
chmod 777 -R /var/www/html/usr/
步骤五、启动 php 和 nginx
# 配置 nginx
# vim /etc/nginx/sites-available/default
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /root/6404467_yezhem.com.pem;
ssl_certificate_key /root/6404467_yezhem.com.key;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php?.*$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
}
}
启动 nginx 和 php8.0-fpm
service nginx start
service php8.0-fpm start
访问你的域名进行 typecho 的安装
配置 Typora
步骤一、购买 OSS 服务
阿里云 对象存储 OSS,根据大小需求购买即可
步骤二、创建桶
阿里云工作台 > 产品与服务 > 对象存储 OSS > Bucket列表 > 创建 Bucket
设置 Bucket 名称并设置为公共读权限
步骤三、创建用户并添加权限
阿里云工作台 > 运维管理 > RAM 访问控制 > 新建用户
记录用户的 AccessKey ID 和 AccessKey Secret
RAM 访问控制 > 身份管理 > 用户 > 添加权限 > OSS 权限添加
步骤四、配置 PicGo
步骤五、配置Typora
格式 > 图像 > 全局图像设置 > 上传服务设定
设置 PicGo 的路径即可
对于要上传的图片,直接右键选择上传图片,将会上传设定好的目录中