banner
miaoer

miaoer

喵二の小博客 https://www.miaoer.net xLog 分站
tg_channel
telegram
bilibili

超可愛的前後端分離博客 Mix-space 搭建

博文版僅針對視頻版的白話文補充,具體可以查看文檔!

mx 變化太大大家僅供參考就可以,太多東西改變了

節選至 https://github.com/mx-space/docs 文檔倉庫,順序略有不同,按照我的視頻方法最優解

文檔地址 https://mx-space.js.org




視頻使用:

BGM:

  • Summer Madness-Roa

  • moonlight-Roa

  • Lights-Sappheiros

  • Embrace-Sappheiros



  • 介紹#

    一個替代個人空間的新方式

    一個由一位大佬 innei 本科 畢業設計 開發出的開源 Mix-Space 博客,採用的是前後端分離的形式。

    Mix-Space 前後端是分離的,意味著你可以將前後端分別單獨部署不同的伺服器上,當然也可以全部部署在一台伺服器上

    Mix-Space 的 Core 提供後端服務支持,Kami 是作者更新最頻繁的前端,Mx-Yun 是雲遊君 Hexo-Yun 的移植版;當然 kami 提供最全的支持,享有 Core 的全部功能,具有良好的動效,各種很可愛的小彩蛋!

    而這次我們部署最完善的 Kami 前端。

    image

    image


    準備#

    在運行 Mix-space 時你需要準備一台伺服器

    • 一個會舉一反三的腦子
    • Linux 內核版本 > 4.18 (推薦使用最新版 Ubuntu)
    • 運行內存 > 1Gib
    • 前後端的 SSL 證書
    • 解析好前後端地址
    • 寶塔面板

    可選項:

    • 帶 Docker 鏡像的 Ubuntu (或騰訊雲應用鏡像 Docker)

    在寶塔面板 - 軟件商店 - 運行環境裡安裝 PM2管理器Nginx ,安裝最新 Node 版本本章安裝的是 v16.15.1

    至少需要 Node > 16.X


    Debian / Ubuntu 安裝依賴環境

    sudo apt update && sudo apt install git curl vim wget git-lfs -y
    

    安裝依賴環境#

    sudo su
    npm install -g pnpm pm2
    
    # 如果安裝比較慢,可以使用以下命令切換鏡像源
    npm config set registry http://mirrors.cloud.tencent.com/npm/
    

    安裝 Docker#

    sudo curl -fsSL https://get.docker.com | bash -s docker
    
    # 如果安裝比較慢,推薦使用以下命令
    sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    

    安裝 Docker-compose#

    # 下載 docker-compose
    
    wget https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-linux-x86_64
    
    #(備用) wget https://download.fastgit.org/docker/compose/releases/download/v2.6.0/docker-compose-linux-x86_64
    
    # 新建文件夾(非必須),可能需要
    
    sudo mkdir -p /usr/local/lib/docker/cli-plugins/
    
    # 複製到指定位置
    
    sudo cp ./docker-compose-linux-x86_64  /usr/local/lib/docker/cli-plugins/docker-compose
    
    # 赋予执行权限
    
    sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
    

    檢查是否安裝完成

    docker compose version
    

    正常輸出版本號即可。

    部署 Core#

    cd
    
    mkdir -p mx-space/server
    
    cd mx-space/server
    
    wget https://fastly.jsdelivr.net/gh/mx-space/core@master/docker-compose.yml
    
    wget https://fastly.jsdelivr.net/gh/mx-space/core@master/.env.example -O .env
    

    用寶塔或者 vim 編輯這個 .env 文件,文件示例如下

    # THIS ENV FILE EXAMPLE ONLY FOR DOCKER COMPOSE
    # SEE https://docs.docker.com/compose/environment-variables/#the-env-file
    JWT_SECRET=7294c34e0b28ad282333333          #此處填寫一個長度不小於16個字符,不大於32個字符的字符串,示例如:hash 的 md5 值
    ALLOWED_ORIGINS=miaoer.xyz,www.miaoer.xyz,v6.www.miaoer.xyz  #此處填寫被允許的域名,通常是kami的域名,如果允許多個域名訪問,用英文逗號,分隔
    

    Vim 保存: Ecs 退出編輯,Shift + :(冒號) 輸入 wq
    :wq

    拉取鏡像#

    # 拉取最新鏡像
    
    sudo docker compose pull
    
    # 啟動容器
    
    sudo docker compose up -d
    

    反向代理#

    進入寶塔面板 — 網站,設置後端網站地址這裡使用 api.miaoer.xyz

    自己喜歡啥主機名就填啥,記得解析

    新建完成站點到設置 - 反向代理 - 添加反向代理

    代理名字這裡方便管理就設置為 後端

    目標 URL: http://127.0.0.1:2333 發送域名: $host

    image

    保存後點擊 配置文件 將下方配置文件文本複製複製進去,記得全選刪掉以前的配置

    #PROXY-START/
    location /socket.io {
        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass http://127.0.0.1:2333/socket.io;
    }
    
    
    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;
    
        #Set Nginx Cache
    
    
        set $static_fileJsNv8TWb 0;
        if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
        {
        	set $static_fileJsNv8TWb 1;
        	expires 12h;
            }
        if ( $static_fileJsNv8TWb = 0 )
        {
        add_header Cache-Control no-cache;
        }
    }
    
    #PROXY-END/
    

    配置 SSL 證書#

    這裡使用騰訊雲免費提供的,下載時選擇 Nginx 將 SSL 證書下載下來,打開壓縮包將後綴 .key.pem 密鑰和證書文件的文本複製到

    站點設置 - SSL - 其他證書中,視頻因為隱私問題進行打碼處理

    .pem 文件最後一行是空行記得刪除

    保存這裡可以選擇開啟強制 HTTPS 建議開啟

    初始化#

    訪問後端地址 https://server.test.cn/proxy/qaqdmin 進行初始化

    視頻中沒有演示的;在新版 mx 更新後需要填寫 API 地址和 Gateway 地址。

    為了演示我這裡就填;

    API 地址: https://api.miaoer.xyz/api/v2

    Gateway 地址: https://api.miaoer.xyz

    開啟持久化。

    站點設置 中設置好站點標題和站點描述

    關鍵字自選

    前端地址需要手動改為你想要的地址,我這裡設置 https://www.miaoer.xyz

    API 地址默認是正確的,如: https://api.miaoer.xyz/api/v2

    後台地址也是正確的,這裡不推薦更改

    網關也是默認正確的

    image


    到了 主人信息 這裡推薦全部填寫完

    需要注意一下郵箱是指收取友鏈和評論通知的地址,後面在後台面板設定好郵箱提醒

    密碼這裡是後台面板的密碼,確認一下密碼

    個人首頁這裡設置自己的前端地址我這裡設置 https://www.miaoer.xyz

    頭像這裡設置自己的頭像地址,你可以通過後台後續上傳你的頭像,推薦自己搭建 CDN 圖床,或者使用現成的,我這裡選擇了自建

    個人介紹看個人喜好進行填寫

    部署前端#

    cd
    cd mx-space
    
    git clone https://github.com/mx-space/kami.git --depth=1
    
    # 網絡不好的情況,請使用下面的命令。
    
    git clone https://hub.fastgit.xyz/mx-space/kami.git --depth=1
    

    更換分支到穩定版本

    cd kami && git fetch --tags && git checkout $(git rev-list --tags --max-count=1)
    

    修改 env

    用寶塔或者 vim 編輯這個 .env 文件,文件示例如下

    # API 地址
    NEXT_PUBLIC_API_URL=https://api.miaoer.xyz/api/v2
    # GATEWAY 地址
    NEXT_PUBLIC_GATEWAY_URL=https://api.miaoer.xyz
    #前端使用的配置項名字
    NEXT_PUBLIC_SNIPPET_NAME=kami
    # 如果使用 CDN, 修改產物前綴
    ASSETPREFIX=
    

    Vim 保存: Ecs 退出編輯,Shift + :(冒號) 輸入 wq
    :wq

    安裝依賴

    pnpm i
    

    構建

    pnpm build
    

    啟動前端

    pm2 start
    

    添加站點


    進入寶塔面板 — 網站,設置前端網站地址這裡使用 www.miaoer.xyz

    自己喜歡啥主機名就填啥,記得解析

    新建完成站點到設置 - 反向代理 - 添加反向代理

    代理名字這裡方便管理就設置為 前端

    目標 URL: http://127.0.0.1:2323 發送域名: $host

    image

    保存後點擊 配置文件 將下方配置文件文本複製複製進去,記得全選刪掉以前的配置

    在 Kami v3.15.1 版本及以上,和之前視頻的配置不一樣請使用下方反代配置

    #PROXY-START/
    
    location ~* \/(feed|sitemap|atom.xml)
    {
        proxy_pass http://127.0.0.1:2333/$1;
        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;
         
        add_header Cache-Control max-age=60;
    } 
    
    location /
    {
        proxy_pass http://127.0.0.1:2323;
        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;
    
        #Set Nginx Cache
    
    
        set $static_fileSw1Jy3nG 0;
        if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
        {
        	set $static_fileSw1Jy3nG 1;
        	expires 12h;
        }
        if ( $static_fileSw1Jy3nG = 0 )
        {
        add_header Cache-Control no-cache;
        }
    }
    #PROXY-END/
    

    配置 SSL 證書

    和前面後端非常類似,希望你能舉一反三

    雲函數和測試#

    此段視頻的意思是部署到此為止,其他的按照文檔來完善 Mix-space!

    所以這裡僅作部分參考演示具體查看 初次使用說明 | Mix Space

    進入後台,移動到 其他・配置與雲函數

    新建一個項:

    • 名字:kami
    • 引用:theme
    • 數據類型:YAML / JSON
    • 公开: 是

    參照以下內容,複製到右邊的框中,並根據自己的情況進行修改。以下是 YAML 格式的示例,可以根據示例修改。

    裡面有大量的 jsd 鏈接,請自行做好處理

    配置示例#

    name: kami
    
    site:
      favicon: https://fastly.jsdelivr.net/gh/mx-space/kami@master/public/favicon.svg
      # 開屏圖和logo svg 標籤, 注意 XSS
      logo_svg: <svg height="200px" viewbox="0 0 200 200" version="1.1" shape-rendering="geometricPrecision"><g stroke="none" strokewidth="1" fill="none" fillrule="evenodd"><g id="forest" fill="currentColor" fillrule="nonzero"><path d="M116.799219,176.953125 C112.484375,176.953125 108.986719,180.450781 108.986719,184.765625 L108.986719,192.1875 C108.986719,196.502344 112.484375,200 116.799219,200 C121.114062,200 124.611719,196.502344 124.611719,192.1875 L124.611719,184.765625 C124.611719,180.450781 121.114063,176.953125 116.799219,176.953125 Z" id="Path"></path><path d="M121.456641,150.248047 C121.298828,150.158203 108.089453,142.472656 101.778125,128.767188 C106.058594,127.733594 109.462109,126.055078 112.442578,124.584766 C115.008203,123.319531 116.671094,120.749609 116.787109,117.891406 C116.903125,115.033203 115.441797,112.336328 112.986719,110.867578 C108.091406,107.937891 96.6117187,99.3179688 91.234375,88.9808594 C94.3324219,88.1222656 97.3414062,86.940625 100.255469,85.734375 C102.819922,84.6730469 104.628906,82.3304688 105.007422,79.5808594 C105.385938,76.83125 104.276953,74.0875 102.094531,72.3722656 C82.3632812,56.8691406 70.0417969,20.1820313 69.9210937,19.8171875 C68.8640625,16.6136719 65.8710938,14.4558594 62.5019531,14.4558594 C62.4839844,14.4558594 62.465625,14.4558594 62.4472656,14.4558594 C59.05625,14.4792969 56.0664063,16.690625 55.0484375,19.925 C54.934375,20.2878906 43.3839844,56.3890625 22.3355469,71.8246094 C20.075,73.4824219 18.8757813,76.2242188 19.1933594,79.0097656 C19.5109375,81.7949219 21.2964844,84.196875 23.8722656,85.303125 C26.1265625,86.2714844 29.5851563,87.7554688 34.3464844,89.0640625 C29.0214844,98.8472656 17.2527344,107.819922 12.2683594,110.952734 C9.7640625,112.517969 8.35625,115.360938 8.63007813,118.301563 C8.90390625,121.242188 10.8117188,123.776953 13.5617188,124.852734 C13.9058594,124.9875 14.2785156,125.1375 14.6828125,125.3 C16.8089844,126.154297 19.7445313,127.332031 23.6902344,128.501953 C17.2066406,141.350391 3.68632813,150.395703 3.53671875,150.494141 C1.09140625,152.094922 -0.25625,154.926563 0.044140625,157.833594 C0.34453125,160.740625 2.2421875,163.237109 4.96328125,164.303906 C5.76640625,164.61875 23.6132813,171.474609 55.471875,172.521875 L55.471875,192.1875 C55.471875,196.502344 58.9695313,200 63.284375,200 C67.5992187,200 71.096875,196.502344 71.096875,192.1875 L71.096875,172.544531 C103.353125,171.572656 119.956641,164.517578 120.696484,164.196094 C123.407422,163.016797 125.221094,160.408984 125.382422,157.457031 C125.542578,154.504688 124.023438,151.714844 121.456641,150.248047 Z M63.6742188,157.03125 C46.6414063,157.03125 33.3425781,155.194922 24.325,153.367578 C29.7734375,147.926953 35.75625,140.533203 39.3648438,131.730859 C44.5152344,132.389453 50.4929688,132.8125 57.4242188,132.8125 C61.7390625,132.8125 65.2367188,129.314844 65.2367188,125 C65.2367188,120.685156 61.7390625,117.1875 57.4242188,117.1875 C46.7472656,117.1875 38.8265625,116.116406 32.8878906,114.769531 C33.4640625,114.256641 34.0460937,113.726953 34.63125,113.180859 C42.2988281,106.020703 47.5574219,98.8085938 50.3394531,91.6605469 C51.3,91.7195313 52.2839844,91.7652344 53.2945313,91.7941406 C57.6179688,91.9210938 61.2035156,88.5207031 61.3269531,84.2082031 C61.45,79.8949219 58.0535156,76.2988281 53.740625,76.1757813 C49.2144531,76.0464844 45.3546875,75.5386719 42.0863281,74.8628906 C51.1160156,64.9648438 57.9273437,52.8929688 62.5585937,43.0527344 C67.1378906,52.8117188 73.746875,64.7949219 82.1886719,74.6710938 C81.9644531,74.6675781 81.74375,74.6566406 81.5277344,74.6382813 C79.1414062,74.4355469 76.7910156,75.3363281 75.1546875,77.0871094 C73.5183594,78.8375 72.7753906,81.2421875 73.1398437,83.6105469 C75.0921875,96.3007813 83.7679687,106.876563 91.5785156,114.065234 C89.2605469,114.0125 87.06875,114.98125 85.5433594,116.714844 C83.9519531,118.523438 83.2839844,120.964844 83.7328125,123.33125 C86.2589844,136.650391 93.8433594,146.823047 100.754297,153.641797 C92.2726562,155.367188 79.8890625,157.03125 63.6742188,157.03125 Z" id="Shape"></path><path d="M199.920703,162.187891 C199.623438,160.078516 198.473047,158.178125 196.74375,156.933203 C196.677734,156.885547 190.046094,152.078516 183.367188,144.459375 C178.680469,139.112891 175.16875,133.808203 172.869141,128.615234 C177.176953,127.299219 180.334766,125.896484 182.855078,124.776563 C183.779688,124.365625 184.578125,124.011328 185.239063,123.752344 C187.985938,122.677344 189.889453,120.144141 190.166016,117.207422 C190.442578,114.270703 189.037891,111.426172 186.539844,109.857031 C180.508203,106.06875 165.928516,94.9003906 160.170313,82.8882813 C165.975,81.6109375 170.135938,80.0996094 173.450781,78.6757813 C176.026953,77.5691406 177.8125,75.1675781 178.130078,72.3824219 C178.447656,69.596875 177.248438,66.8550781 174.987891,65.1972656 C150.69375,47.3816406 137.426172,5.89023438 137.296484,5.47773438 C136.282422,2.23945312 133.294141,0.02578125 129.900781,0 C129.880469,0 129.860938,0 129.840625,0 C126.471875,0 123.479297,2.1609375 122.422266,5.36484375 C122.345703,5.59726563 114.594141,28.8386719 101.137891,48.2902344 C98.6832031,51.8386719 99.5699219,56.7050781 103.118359,59.1597656 C106.666016,61.6144531 111.532813,60.7277344 113.987891,57.1796875 C120.606641,47.6113281 125.908984,37.3730469 129.771094,28.9074219 C135.158203,40.7210938 143.499219,55.9507812 154.835547,68.0292969 C148.182031,69.3046875 138.466406,70.365625 124.221094,70.365625 C119.90625,70.365625 116.408594,73.8632812 116.408594,78.178125 C116.408594,82.4929687 119.90625,85.990625 124.221094,85.990625 C131.989844,85.990625 138.586719,85.7003906 144.237891,85.2101562 C147.194141,93.6328125 153.265625,102.16875 162.363672,110.664453 C163.722266,111.933203 165.067578,113.123437 166.365234,114.225781 C160.423047,115.830469 152.078516,117.127344 139.455469,117.127344 C135.140625,117.127344 131.642969,120.625 131.642969,124.939844 C131.642969,129.254687 135.140625,132.752344 139.455469,132.752344 C146.397656,132.752344 152.275391,132.379297 157.298828,131.778516 C160.196094,139.490625 164.986719,147.194531 171.617578,154.758984 C173.749219,157.191406 175.869141,159.373437 177.836328,161.269531 C171.480469,162.880469 160.966797,164.453125 144.142969,164.453125 C139.828125,164.453125 136.330469,167.950781 136.330469,172.265625 L136.330469,192.1875 C136.330469,196.502344 139.828125,200 144.142969,200 C148.457813,200 151.955469,196.502344 151.955469,192.1875 L151.955469,179.966016 C166.112109,179.546484 177.524219,177.948828 185.952344,175.201562 C193.906641,172.608203 197.119922,169.648438 198.327734,168.114453 C199.645703,166.441016 200.217969,164.297266 199.920703,162.187891 Z" id="Path"></path></g></g></svg>
      # 隨機圖片
      figure:
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/qsNmnC2zHB5FW41.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/GwJzq4SYtClRcZh.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/6nOYcygRGXvpsFd.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/Qr2ykmsEFpJn4BC.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/KiOuTlCzge7JHh3.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/sM2XCJTW8BdUe5i.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/18KQYP9fNGbrzJu.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/rdjZo6Sg2JReyiA.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/X2MVRDe1tyJil3O.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/EDoKvz5p7BXZ46U.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/EGk4qUvcXDygV2z.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/5QdwFC82gT3XPSZ.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/KPyTCARHBzpxJ46.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/7TOEIPwGrZB1qFb.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/Ihj5QAZgVMqr9fJ.jpg
        - https://fastly.jsdelivr.net/gh/Innei/fancy@master/2021/KZ6jv8C92Vpwcih.jpg
      # 背景圖
      background:
        src:
          # 亮色背景
          light: https://fastly.jsdelivr.net/gh/mx-space/docs-images@master/assets/background.png
          # 暗色背景
          dark: https://fastly.jsdelivr.net/gh/mx-space/docs-images@master/assets/background-night.png
        position: top center fixed
      # 定義網站頂欄
      header:
        menu:
          - title: 源
            path: /
            type: Home
            icon: faDotCircle
            subMenu: []
          - title: 文
            path: /posts
            type: Post
            subMenu: []
            icon: faGlasses
          - title: 記
            type: Note
            path: /notes
            icon: faFeatherAlt
          - title: 言
            path: /says
            icon: faComments
          - title: 覽
            icon: faHistory
            path: /timeline
            subMenu:
              - title: 生活
                icon: faFeatherAlt
                path: /timeline?type=note
              - title: 博文
                icon: faBookOpen
                path: /timeline?type=post
              - title: 回憶
                icon: faCircle
                path: /timeline?memory=1
          - title: 友
            icon: faUserFriends
            path: /friends
          - title: 诉
            icon: faComment
            path: /recently
          - title: 余
            icon: faCircleNotch
            path: /favorite/music
            subMenu:
              - title: 聽歌
                icon: faMusic
                type: Music
                path: /favorite/music
          - title: ""
            icon: faSubway
            path: "https://travellings.link"
      # 定義頭像下的社交ID
      social:
        - url: "https://github.com/Innei"
          title: GitHub
          icon: faGithub
          color: var(--black)
        - url: "https://jq.qq.com/?_wv=1027&k=5t9N0mw"
          title: QQ
          icon: faQq
          color: "#12b7f5"
        - url: "https://twitter.com/__oQuery"
          title: twitter
          icon: faTwitter
          color: "#02A4ED"
      # 定義網站底部
      footer:
        background:
          src:
            dark: |-
            light: https://fastly.jsdelivr.net/gh/mx-space/docs-images@master/assets/footer.png
          position: top/cover
        # 默認返回的地址
        home_page: https://innei.ren
        # 底部座右銘
        motto:
          content: Stay hungry. Stay foolish.
          author: Steve Jobs
        # icp 备案
        icp:
          enable: false
          label: "浙ICP备 20028356 号"
          link: http://beian.miit.gov.cn/
        # 自定義底部文字以及鏈接
        navigation:
          - name: 關於
            path: "/about"
          - name: 留言
            path: "/message"
          - name: 友鏈
            path: "/friends"
          - name: RSS 訂閱
            path: "/feed"
            newtab: true
          - name: 站點地圖
            path: "/sitemap"
            newtab: true
          - name: 開往
            path: https://travellings.link/
            newtab: true
      # 自定義腳本、樣式和JS(支持外鏈引入,不需要 script 標籤)
      custom:
        # 自定義腳本
        script: |-
          console.log('Hello')
        # 自定義樣式
        style: |-
          .foo {
            color: red
          }
        # 引入外部 JS ,不需要 script 標籤
        js:
          - https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js
        # 引入外部 CSS 
        css:
          - https://fastly.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css
    # 定義功能,例如歌單,追番
    function:
      player:
        # 默認播放列表
        # 只支持網易雲
        id:
          - 563534789
          - 1447327083
          - 1450252250
      # 分析,Google OR Baidu OR umami
      analyze:
        enable: false
        ga: ""
        baidu: ""
        umami: ""
      # 打賞
      donate:
        enable: false
        link: https://afdian.net/@Innei
      # 是否禁用調試工具(訪客)
      ban_devtool:
        enable: false
    

    測試前端#


    配置完前端的雲函數配置,現在可以先進行訪問,輸入 https://www.miaoer.xyz

    我這裡回滾了正常的後端所以我這裡有文章,默認是沒有任何文章的如果沒有問題可以嘗試在後端寫一篇文章並發布進行測試

    image


    設置#

    在後台面板 設定 - 系統中有

    • 網站設置
    • SEO 優化
    • 後台附加設置
    • 文本設定
    • 郵件通知設置
    • 評論設置
    • Bark 通知設定
    • 友鏈設定
    • 備份
    • 百度推送設定
    • Algolia Search
    • 終端設定

    這裡就不一一講解了

    請參考 初次使用說明 | Mix Space 的文檔中內容

    還有就是配置與雲函數,礙於篇幅這裡也是不進行講解的具體可以查看文檔中關於這部分 雲函數 的內容

    升級與備份#

    1. 魔改升級 - 前端#

    mx-space/kami 文件夾改為任意名字,這裡修改為 kami.d

    然後拉取 kami 前端倉庫,更新到穩定版本

    cd
    cd mx-space
    
    git clone https://github.com/mx-space/kami.git --depth=1
    
    cd kami && git fetch --tags && git checkout $(git rev-list --tags --max-count=1)
    

    然後將更新前之前配置時修改過的文件,如在 mx-space/kami.d

    中的 .envpublic 文件夾複製到 mx-space/kami

    假設這裡還修改了友鏈的頁面文件這裡也一一進行替換

    如果友鏈頁源碼有更新,又將更新前的文件替換上去可能導致構建錯誤。

    替換完成;安裝依賴、構建、啟動前端

    pnpm i
    
    pnpm build
    
    pm2 start
    
    # 萬無一失: pnpm i && pnpm build && pm2 start
    

    2. 強制同步 - 前端#

    直接在 mx-space/kami 文件夾下執行 git pull origin master

    安裝依賴、構建、啟動前端

    pnpm i
    
    pnpm build
    
    pm2 start
    
    # 老鳥選項: pnpm i && pnpm build && pm2 start
    

    該方法適合於對 Kami 源代碼沒有做改動的懶人用戶

    後端升級#

    因為 Mix-space 後端是使用 Docker-compose 的,升級十分方便

    cd
    cd mx-space/server
    

    進入 server 文件夾執行

    docker compose pull && docker compose up -d
    

    備份與回滾#

    備份#

    在後端中 其他 - 備份 中點擊立即備份,即備份到絕對目錄:

    /root/mx-space/server/data/mx-space/backup/20xx-xx-xx_xx:xx:xx/backup-20xx-xx-xx_xx:xx:xx.zip

    如果你沒修改的話,詳見後端面板 設定 - 系統 - 備份

    回滾#

    在後端中 其他 - 備份 中點擊立即備份,將之前在電腦裡的 backup.zip 上傳到剛剛生成的備份目錄裡進行重命名替換

    tip
    例:假如剛剛生成的備份是 backup-2022-09-01_23:33:33.zip 將想進行回滾的備份包 backup-2022-01-14_05:14:19.zip 修改為剛剛生成的備份一樣的名字

    mv /root/mx-space/server/data/mx-space/backup/2022-01-14_05:14:19/backup-2022-01-14_05:14:19.zip backup-2022-09-01_23:33:33.zip
    

    ⚠️ 該操作涉及修改數據庫,請多備份幾個工作日的 backup,數據無價請謹慎操作!

    一般情況下回滾只會導致 analyze 數據頁丟失 IP & PV 的數據

    替換完成會提示 數據庫有變動,將在 x 秒後重載頁面

    重載先檢查文章評論等有沒有丟失


    此處為了和視頻版同步,博客就只能更新到這裡了,詳情其他查看 Docs

    歡迎留言,打賞一鍵三聯視頻;務必評論點讚,此博客還在持續更新!

    此文由 Mix Space 同步更新至 xLog
    原始鏈接為 https://www.miaoer.net/posts/blog/mx-install


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