进阶部署
🚫
在您进行进阶部署前,我们给予最后的警告:如果你不是开发者,或者不想折腾,请不要选择进阶部署,因为它需要你具备一定的开发能力。
由于自身技术原因导致的问题,我们将不会提供任何技术支持。情节严重者,我们将永久拉黑您的账号。
要求
- 已安装 Node.js (opens in a new tab) 20.0.0 或以上版本
- 已安装 Git (opens in a new tab), PNPM (opens in a new tab), PM2 (opens in a new tab)
- 已安装 MongoDB (opens in a new tab), Redis (opens in a new tab) 并正常运行
1. 克隆并安装
git clone https://github.com/mx-space/core.git --depth=1
cd core
pnpm i
2. 构建 & Bundle
pnpm build
pnpm bundle
3. 配置 ecosystem.config.js
const { cpus } = require('os')
const { execSync } = require('child_process')
const nodePath = execSync(`npm root --quiet -g`, { encoding: 'utf-8' }).split(
'\n',
)[0]
const cpuLen = cpus().length
module.exports = {
apps: [
{
name: 'mx-server',
script: './out/index.js',
autorestart: true,
exec_mode: 'cluster',
watch: false,
instances: cpuLen,
max_memory_restart: '520M',
args: '',
env: {
NODE_ENV: 'production',
NODE_PATH: nodePath,
MX_ENCRYPT_KEY: process.env.MX_ENCRYPT_KEY,
PORT: process.env.PORT,
},
},
],
}
环境变量
4. 启动
- 进入
./apps/core
,修改ecosystem.config.js
文件 - 将上方复制的内容黏贴进去,然后执行以下命令启动服务
pm2 start ecosystem.config.js
5. 反向代理 or ...
剩下的就是你的事了,你可以使用 Nginx (opens in a new tab) 或者 Caddy (opens in a new tab) 等反向代理工具,也可以使用 Cloudflare (opens in a new tab) 等 CDN 服务。本文不再赘述。