Mix-Space部署最新后端Core

Mix Space 是一个一款简洁而不简单的个人博客系统，它够快，够现代。你可以利用它构建一个属于自己的个人空间，记录生活，分享知识。

后端 Core 项目

系统 / 环境要求

Linux / MacOS （推荐 Debian11 / 12）教程以 Debian11 / 12 为例

Linux 内核 > 4.19

Docker，Docker-Compose

1Panel+OpenResty（可选）

必要的准备

域名：本篇所采用为双域名模式，即前端 www.vlo.cc，后端api.vlo.cc

前后端域名所需 SSL 证书：需要全站 HTTPS

壹・安装 Docker / Docker-Compose

若服务器在国外且需要使用 1Panel，可以直接运行 1Panel 安装脚本，一把梭安装 1Panel 和 Docker / Docker-Compose

首先，安装一些必要的软件包：

Copy
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates

然后加入 Docker 的 GPG 公钥和 apt 源：

Copy
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

国内机器可以用清华 TUNA 的国内源：

Copy
curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

然后更新系统后即可安装 Docker CE

Copy
apt update
apt install docker-ce docker-ce-cli containerd.io

我们可以使用 Docker 官方发布的 Github 直接安装最新版本 docker-compose：

Copy
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

此时可使用 docker-compose version 命令检查是否安装成功

贰・部署 Core

一・拉取配置文件

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

二・修改 Core 配置文件

Copy
cd /opt/mx-space/core
vim docker-compose.yml

修改 environment 字段对应部分的内容，调整细节使其符合 yaml 语法，保存即可。

Warning

默认 MongoDB 数据库和 Redis 未设置密码，若无需要请不要放行数据库端口！若需要密码 / 或使用远程数据库，可根据官方文档配置（我会啦！🥰）

JWT 密钥：需要填写长度不小于 16 个字符，不大于 32 个字符的字符串，用于加密用户的 JWT，务必保存好自己的密钥，不要泄露给他人。

被允许的域名：需要填写被允许的域名，通常是前端的域名，如果允许多个域名访问，用英文逗号，分隔。

（可选）是否开启加密：如果你确定要开启数据库加密，将 false 改为 true，开启加密后，你需要在下方填写加密密钥。

（可选）加密密钥：如果你不知道这是什么，那么不建议开启此功能，具体内容可参考 https://mx-space.js.org/usage/security.html

::: warning
此密钥用来加密数据库！如果丢失，将无法使用备份恢复！一定要记录并保存！

若开启加密，则需注意密钥长度必须为 64 位且只有小写字母和数字，不然会在初始化时报错。注意这是不可逆的，务必保存自己的秘钥。所以并不是非常推荐使用，除非你真的需要加密 API Key.

密钥可以通过openssl rand -hex 32命令生成。请务必牢记。

:::

三・Core 启动！

Copy
cd /opt/mx-space/core
docker-compose pull && docker compose up -d

叁・反代与更新

一・反向代理

以 1Panel+OpenResty 为例：

新建静态网站

配置 SSL 证书开启 HTTPS

在 NGINX 配置文件最后一个}的上方另起一行，粘贴如下配置，并保存

双域名后端反代示例

Copy
## 反向代理开始
## WebSocket
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-Proto $scheme;
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-Proto $scheme;
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;
}
## 反向代理结束

单域名前后端反代示例

Copy
## 反向代理开始，直接复制官方文档的
## WebSocket 地址
location /socket.io {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2333/socket.io;
}
## API 地址
location /api/v2 {
proxy_pass http://127.0.0.1:2333/api/v2;
}
## 简读 render 地址
location /render {
proxy_pass http://127.0.0.1:2333/render;
}
## 前端地址
location / {
proxy_pass http://127.0.0.1:2323;
}
## 后台地址
location /proxy {
proxy_pass http://127.0.0.1:2333/proxy;
}
location /qaqdmin {
proxy_pass http://127.0.0.1:2333/proxy/qaqdmin;
}
## RSS 地址
location ~* \/(feed|sitemap|atom.xml) {
proxy_pass http://127.0.0.1:2333/$1;
}
## 反向代理结束

### 二 · Core 初始化
反向代理配置完成，访问后端 https:// 后端域名 /proxy/qaqdmin

例： https://api.example.cc/proxy/qaqdmin

根据页面提示完成初始化，
若完成后未正确跳转后台，
再次进入 https://api.example.cc/proxy/qaqdmin 即可

三・Core 更新

Copy
cd /opt/mx-space/core
docker-compose pull && docker compose up -d

肆・参考文章

Debian 12 / Ubuntu 24.04 安装 Docker 以及 Docker Compose 教程

官方部署文档

此文由 Mix Space 同步更新至 xLog
原始链接为 https://www.vlo.cc/posts/jc/mix-deploy