Mx Space部署记录
后端部署
mx-space官方文档:引言 - Mix Space 文档
我这里使用了docker部署的方式,详细步骤参考官方文档啊,大概流程如下:
安装docker
这个直接参考官方文档里的教程即可,我这里的比较复杂。
-
检查卸载老版本docker
注:docker的旧版本不一定被称为docker,docker.io 或 docker-engine也有可能,所以我们卸载的命令为:
1
sudo apt-get remove docker docker-engine docker.io containerd runc
-
更新软件包
1 2
sudo apt update sudo apt upgrade
-
安装docker依赖 Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:
1
sudo apt-get install ca-certificates curl gnupg lsb-release
-
添加Docker官方GPG密钥
1
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
-
添加Docker软件源
1
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
-
安装Docker
1
sudo apt-get install docker-ce docker-ce-cli containerd.io
-
配置用户组(可选) 默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:
1
sudo usermod -aG docker $USER
注:重新登录才能使更改生效。
配置后可以查看通过以下命令查看docker用户组成员:
1
getent group docker
-
安装工具
1
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
-
重启Docker
1
service docker restart
如果您成功安装了 Docker 和 Docker-Compose,可以通过以下命令查看版本:
|
|
拉取配置文件
|
|
配置Core启动配置文件
在官方文档中填入对应配置
填好后,复制配置,粘贴到教程指定的docker-compose.yml
里 environment
字段中
启动Core
|
|
建议先确认一下docker hub的账号是否登录,或者可以直接退出再重登一下:
|
|
我这里服务器开vpn也没法拉取镜像,所以选择本地拉取镜像并保存为.tar
文件,然后传输到服务器中
-
本地通过vpn拉取镜像:
1
docker compose up -d
-
查看镜像:
1
sudo docker compose images
这里输出如下:
1 2 3 4
CONTAINER REPOSITORY TAG IMAGE ID SIZE mongo mongo latest 15fb53a5160e 292MB mx-server innei/mx-server latest 906326c82174 164MB redis redis alpine 48501c5ad00d 24.3MB
-
将所需镜像打包为
.tar
文件:1 2 3
sudo docker save -o mongo.tar mongo sudo docker save -o mx-server.tar innei/mx-server sudo docker save -o redis.tar redis
-
传到服务器,文件夹没有要求,我直接放到
mx-space/core
路径下了 -
加载镜像
1 2 3
sudo docker load -i mongo.tar sudo docker load -i mx-server.tar sudo docker load -i redis.tar
-
验证是否成功加载
1
sudo docker images
-
启动
1
sudo docker compose up -d
启动后可以在浏览器中访问服务器IP+2333端口来测试后端是否正常运行:
|
|
如果正常运行会显示如下界面:
docker相关指令
exec进入容器
Docker 原生支持直接进入容器:
|
|
例如:docker exec -it mx-server bash
ps查看容器
|
|
退出终端
-
直接退出
1
exit
或者Ctrl+D也可以
-
保持容器运行但断开连接
如果不想终止容器内的进程,可以按以下组合键:
1
Ctrl + P, Ctrl + Q
-
强制终止连接(不推荐)
如果终端卡死或无响应,可以强制关闭终端窗口或使用:
1
kill -9 <终端进程ID> # 极端情况下使用
配置反向代理
这里使用宝塔面板配置反向代理
安装宝塔面板
-
更新系统软件包
1
sudo apt update && sudo apt upgrade -y
-
安装宝塔面板
1
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
-
安装完成后会输出信息,需要记录一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
请选择以下其中一种方式解决不安全提醒 1、下载证书,地址:https://dg2.bt.cn/ssl/baota_root.pfx,双击安装,密码【www.bt.cn】 2、点击【高级】-【继续访问】或【接受风险并继续】访问 教程:https://www.bt.cn/bbs/thread-117246-1-1.html mac用户请下载使用此证书:https://dg2.bt.cn/ssl/mac.crt ========================面板账户登录信息========================== 【云服务器】请在安全组放行 22622 端口 外网ipv4面板地址: https://120.26.143.148:8888/cbba2002 内网面板地址: https://172.26.165.49:8888/cbba2002 username: 169017267@qq.com password: General@0609 浏览器访问以下链接,添加宝塔客服 https://www.bt.cn/new/wechat_customer ==================================================================
-
登录面板后就可以将面板地址、账号、密码等修改掉了
我这里出现了一个小问题,面板设置中修改面板端口后无法访问,在命令行中使用bt命令(8)再次修改为8888才能正常使用
配置反向代理
我这里已经安装过Nginx了,但是宝塔面板中显示未安装Nginx,我搜了一下,论坛中说宝塔面板不推荐在已有环境的上进行安装使用,且无法接入管理自行安装的环境服务。所以只能手动将nginx卸载掉,重新用宝塔安装一个了
|
|
然后在宝塔面板中重新安装nginx
进入「宝塔面板」>「网站」>「设置后端网站地址」,设置为060010.xyz
主机名随意填,记得解析
新建完站点后,「站点」>「设置」>「反向代理」>「添加反向代理」
代理名字这里方便管理就设置为 后端
目标URL: http://127.0.0.1:2333
发送域名: $host
保存后点击 配置文件
将下方配置文件文本复制复制进去,记得全选删掉以前的配置
|
|
域名解析
在域名提供商那里配置DNS解析
我这里配置了两个:
- 记录类型:A,解析名称:@,内容:<服务器IP地址>。这个就是060010.xyz
- 记录类型:A,解析名称:www,内容:<服务器IP地址>。这个就是www.060010.xyz
设置好域名解析后,我们在浏览器中访问这两个链接,页面会是空白或者提示"您的请求在Web服务器
中没有找到对应的站点",这是因为我们还没有设置服务器绑定
配置SSL证书
这里申请了Let’s Encrypt的免费证书,需要手动配置TXT解析
来验证
以060010.xyz的解析为例,这里给出以下内容:
- 解析域名:060010.xyz
- 文件路径:/www/wwwroot/060010.xyz.well-known/acme-challenge/LvnEq8aat……
- 文件内容:LvnEq8aata……
只需要到域名提供商那里配置对应的TXT解析即可,这个就是填加一条解析,解析类型选TXT,名称填_acme-challenge.060010.xyz
,内容填上面的文件内容,然后保存
前端部署
我这里部署的是Shiro主题,官方文档如下:部署 - Mix Space 文档
前提要求
设置主题配置
进入 Mix Space 后台,后台链接如下:
|
|
填写站点配置
进入「配置与云函数」页面,点击右上角的新增按钮,在编辑页面中,填入以下设置:
- 名称:
shiro
- 引用:
theme
- 数据类型:
JSON
- 数据:(点击下方的按钮复制)
请注意,这份配置你需要自行修改成符合你的需求的配置。直接使用下面的配置可能会导致你的博客无法按照你的预期运行。
下面的配置可能不全,更多配置项的信息请移步 配置项 了解。
此外,配置也可写成 yaml 格式,此时数据类型应选择
YAML
。
|
|
点击按钮保存配置,随后继续进行下面的步骤。
准备Clerk账号
此部分参考教程:Mix Space博客系统搭建 - 哔哩哔哩
在 Shiro 主题中需要用到 Clerk,所以需要去 Clerk 官网(https://clerk.com)注册一个账号 注册完之后保存好控制台中的信息
安装npm
|
|
安装pnpm
|
|
部署
Vercel构建
进入https://github.com/innei/Shiro
Fork这个仓库到自己账号下
进入Vercel-New Project,选择刚才Fork的仓库
等待构建
本地
在终端输入
|
|
然后
|
|
将之前保存的这些内容输入到.env文件里,api地址和域名是启动后端时填的,CLERK公钥和私钥在上面准备Clerk账号时保存了,注释删掉
|
|
然后输入:
|
|
结束后终端里输出的内容如下
我们把它作为系统服务启动
|
|
然后输入以下内容
|
|
使用以下命令启动
|
|