banner
jiuyue

jiuyue

JiuYue

Mix-Space部署最新後端Core

Mix Space 是一款簡潔而不簡單的個人博客系統,它夠快,夠現代。你可以利用它構建一個屬於自己的個人空間,記錄生活,分享知識。

後端 Core 項目#

image

系統 / 環境要求#

  • 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

首先,安裝一些必要的軟件包:

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

然後加入 Docker 的 GPG 公鑰和 apt 源:

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 的國內源:

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

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

我們可以使用 Docker 官方發布的 Github 直接安裝最新版本 docker-compose:

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#

一・拉取配置文件#

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 配置文件#

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 啟動!#

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

叁・反代與更新#

一・反向代理#

以 1Panel+OpenResty 為例:

  • 新建靜態網站
  • 配置 SSL 證書開啟 HTTPS
  • 在 NGINX 配置文件最後一個}的上方另起一行,粘貼如下配置,並保存
雙域名後端反代示例
    ## 反向代理開始
    ## 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; 
    }
    ## 反向代理結束
單域名前後端反代示例
## 反向代理開始,直接複製官方文檔的
    ## 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 更新#

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


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。