Midwayjs部署环境-Linux

457 阅读2分钟

部署环境-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 用户启动