搭建可爱的Mix Space博客系统
Mix Space 是一款简洁而不简单的个人博客系统,它具有良好的动效设计,可爱的风格,以及比较丰富的功能。 它够快,更现代,其活跃的开源社区能让你享受到新技术栈带来的惊艳。
自 Core v5.7.5 版本开始,Docker 相关配置发生重大变化,kami前端部分仅供参考建议查阅最新官方文档!此教程已不再适用最新Core / Shiro部署;请阅读最新部署教程!
环境准备:
操作系统:建议最新的 Ubuntu / Debian ,或其他 Linux 内核版本不小于 4.19 的发行版本
Linux 内核版本:不小于 4.19 ,建议 5.x
内存建议:大于 1 GiB内存要求说明:
构建需要的内存:大于 1 GiB 运行需要的内存:不小于 768 MiB
本站采用环境
- 服务器CentOS Linux release 7.9.2009 (Core) 内核版本6.0.10-1.el7.elrepo.x86_64
- Docker version 20.10.21+Docker-compose version 1.29.1
- Node.js v16.18.1 npm v8.19.2 nvm v0.39.2
若使用操作系统为Centos,默认内核版本可能并不符合要求,搭建前请先确认是否需要升级Linux内核版本
环境准备
安装软件包
Debian / Ubuntu
apt update && apt install git curl vim wget git-lfs -y
CentOS
yum check-update && yum install git curl vim wget git-lfs -y
安装 Docker
SSH 连接到服务器,使用一键脚本,可以便捷地安装 Docker 和 Docker Compose:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
安装nvm 用于管理Node.js版本
打开终端,使用一键脚本,可以便捷地安装 nvm:
bash -c "$(curl -fsSL https://gitee.com/RubyKids/nvm-cn/raw/master/install.sh)"
重启终端即可生效
安装 Node.js 最新的 LTS 版本:
nvm install --lts
安装需要的模块:
npm i -g pnpm pm2
开始部署Mix Space
本站采取手动部署,更多部署方式请移步官方文档 https://mx-space.js.org/
部署Core
Docker 部署
#新建文件夹
cd && mkdir -p mx-space/core && cd $_
#拉取docker-compose.yml 文件
wget https://fastly.jsdelivr.net/gh/mx-space/core@master/docker-compose.yml
#拉取 Core 配置文件
wget https://fastly.jsdelivr.net/gh/mx-space/core@master/.env.example -O .env
编辑 .env 文件:
#THIS ENV FILE EXAMPLE ONLY FOR DOCKER COMPOSE
#SEE https://docs.docker.com/compose/environment-variables/#the-env-file
JWT_SECRET=7294c34e0b28ad28 #此处填写一个长度不小于16个字符,不大于32个字符的字符串
ALLOWED_ORIGINS=test.cn,www.test.cn #此处填写被允许的域名,通常是kami的域名,如果允许多个域名访问,用英文逗号,分隔
接下来就可以启动后端啦
docker compose up -d
部署kami Mix默认前端
拉取源文件
cd && cd mx-space
git clone https://github.com/mx-space/kami.git --depth 1
#如果克隆缓慢,可以使用下面的镜像地址
git clone https://github.1qi777.com/mx-space/kami.git --depth 1
切换到最新的 tag
cd kami && git fetch --tags && git checkout $(git rev-list --tags --max-count=1)
拉取图片文件
git lfs fetch --all
git lfs pull
注意:如果无法正常拉取,可以到 GitHub 上手动下载文件并放到相应目录。
配置文件
复制 .env.example 为 .env
cp .env.example .env
编辑 .env 文件,它看起来应该是这个样子的
#API 地址
NEXT_PUBLIC_API_URL=https://server.test.cn/api/v2
#GATEWAY 地址
NEXT_PUBLIC_GATEWAY_URL=https://server.test.cn
#前端使用的配置项名字
NEXT_PUBLIC_SNIPPET_NAME=kami
#如果使用 CDN, 修改产物前缀;一般留空
ASSETPREFIX=
构建
这里选用 pnpm 作为包管理器。
pnpm i
pnpm build
启动前端
pnpm prod:pm2
#可选
pm2 start