部署环境-Linux
本文介绍在 Linux 服务器上以源码编译方式部署 MidwayJS 后端服务。
准备工作
服务器需安装以下组件并确保正常运行。
| 组件 | 说明 | 版本 |
|---|---|---|
| Node.js | 运行环境 | >= 24.0.0 |
| MySQL | 数据库 | 8+ |
| Redis | 缓存 | 6+ |
| PM2 | 进程管理(可选) | 5+ |
使用国内源加速依赖下载:
# 淘宝源
npm config set registry https://registry.npmmirror.com
# 腾讯源
npm config set registry https://mirrors.cloud.tencent.com/npm/
后端服务
/home/user/mask_api 作为后端服务目录,将以下文件上传到服务器:
mask_api
├── src 源代码
├── assets 静态资源(ip2region.xdb、Excel 模板等)
├── bootstrap.js 启动入口
├── package.json 依赖及启动命令
└── tsconfig.json TypeScript 配置
进入目录,安装依赖并构建:
cd /home/user/mask_api
# 安装 PM2(如未安装)
npm install pm2 -g
# 安装项目依赖
npm install
# 构建生产代码
npm run build
配置环境变量:
cp .env.example .env
vi .env
填写生产环境实际值:
# 静态资源目录(源码部署保持 ./src/assets)
APP_ASSETS=./src/assets
# 服务端口
PORT=6275
# JWT 配置
JWT_SECRET=your-production-secret
JWT_EXPIRES_IN=25
JWT_REFRESH_EXPIRES_IN=10080
# 数据库
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=your-db-password
DB_DATABASE=mask_api
DB_LOGGING=false
# Redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=your-redis-password
REDIS_DB=0
启动服务:
# 方式一:前台启动(调试用)
npm start
# 方式二:PM2 集群后台常驻(推荐)
npm run start:pm2
PM2 常用命令
pm2 list # 查看进程状态
pm2 logs mask_api # 查看日志
pm2 restart mask_api # 重启服务
pm2 stop mask_api # 停止服务
pm2 save && pm2 startup # 设置开机自启
注意事项
- 确保部署用户对
mask_file目录(日志、上传文件)有读写权限 - 生产环境务必修改
JWT_SECRET、数据库密码、Redis 密码等敏感配置 - 如遇到权限不足,可给用户授权或使用 root 用户启动