由 typecho 迁移至 Mix Space

2024 年 8 月 19 日 星期一(已编辑)
267
3
这篇文章上次修改于 2024 年 8 月 19 日 星期一,可能部分内容已经不适用,如有疑问可询问作者。

由 typecho 迁移至 Mix Space

由 typecho 迁移至 Mix Space

背景

  1. typcho 配合 百度智能云-内容审核 无法完全屏蔽来自俄语、英语及其他语言的垃圾评论,令人头疼;
  2. typecho更新不积极,生态不够完善;
  3. 有一台空余的阿里云ECS闲置未使用

备份

通过 URLOS 面板直接备份 typecho数据库,并保存至本地。


导出文章

更换pip源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

克隆项目

git clone https://github.com/ds19991999/typecho2md.git

配置参数

cd typcho2md
rm -rf post/*.md 
vi config.yaml

按照服务器配置进行修改:

mysql:
  host: "127.0.0.1"
  port: 3306
  user: "数据库用户名"
  password: "数据库密码"
  database: "数据库名"
  db_table: "typecho_contents"

修改好后,执行:

python3 typecho2md.py

typecho 保存的页面及文章就会保存在 post 目录中,下载到本地即可。


部署 Mix Space

安装 1Panel 并配置 Docker 镜像

由于我的服务器系统是 Ubuntu ,通过下列命令进行安装

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

安装好后,登入 1Panel 面板,通过 应用商店 安装 OpenResty 应用,并进入 容器 - 配置 - 基础配置 - 镜像加速 - 设置,将下列镜像源粘贴至右侧输入框:

https://hub.jiuy.eu.org
https://do.jiuy.eu.org

粘贴后,点击 确认 ,在弹出的对话框中输入 立即重启 并确认,完成 Docker 镜像的配置。

安装 Mix Space

按照 Docker 部署 这篇官方部署文档进行后端部署

cd && mkdir -p mx-space/core && cd $_
 
# 拉取 docker-compose.yml 文件
wget https://fastly.jsdelivr.net/gh/mx-space/core@master/docker-compose.yml

vi docker-compose.yml

services - app -environment 中最后两行的配置进行修改(截取自部分 docker-compose.yml 文件):

services:
  app:
    container_name: mx-server
    image: innei/mx-server:latest
    environment:
      - TZ=Asia/Shanghai
      - NODE_ENV=production
      - DB_HOST=mongo
      - REDIS_HOST=redis
      - ALLOWED_ORIGINS=前端域名
      - JWT_SECRET=JWT密钥
  • JWT 密钥:需要填写长度不小于 16 个字符,不大于 32 个字符的字符串,用于加密用户的 JWT,务必保存好自己的密钥,不要泄露给他人。
  • 被允许的域名:需要填写被允许的域名,通常是前端的域名,如果允许多个域名访问,用英文逗号,分隔。

修改好之后,按下键盘 ESC 键,并输入 :wq 进行保存。

启动 Mix Space

docker compose up -d

配置反向代理

创建网站

  1. 通过 1Panel 面板,网站

    • 证书
      • 申请证书上传证书 先申请或上传域名的 SSL 证书。

  2. 通过 1Panel 面板,网站
    • 网站
      • 创建网站
        • 反向代理 ,在 主域名 处输入后端域名,在 代理地址 输入 127.0.0.1:2333 ,然后点击 确认
  3. 选择刚刚创建的网站的 配置
    • HTTPS启用HTTPS 选择打开,在下面选择第一步上传或申请的 SSL 证书,然后 保存
  4. 点击 反向代理
    • 源文 ,输入以下内容并确认:
location /socket.io {
      proxy_pass http://127.0.0.1:2333/socket.io; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header REMOTE-HOST $remote_addr; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "upgrade"; 
      proxy_buffering off;
      proxy_http_version 1.1; 
      add_header Cache-Control no-cache; 
    }
    ## Others
    location / {
      proxy_pass http://127.0.0.1:2333; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header REMOTE-HOST $remote_addr; 
      add_header X-Cache $upstream_cache_status; 
    }
    location /proxy {
        proxy_pass http://127.0.0.1:2333/proxy;
    }
    location /qaqdmin {
        proxy_pass http://127.0.0.1:2333/proxy/qaqdmin;
    }
    location /api/v2 {
        proxy_pass http://127.0.0.1:2333/api/v2; 
    }
  1. 现在已经配置好 Mix Space ,浏览器打开域名,进行设置即可。

架构

系统面板环境服务
UbuntuURLOSDocker PHP(typecho) + AliSQL
Ubuntu1PanelDockerMix Space + PHP(图床)
OpenCloudOS宝塔Node.jsShiroi

参考资料

typecho2md

1Panel 文档

Docker 部署

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...