文章目录
前言
接着手动搭建koa+ts项目框架(node开发配置环境变量),当需要部署服务器时,结合pm2使用
一、什么是pm2?
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能
- pm2需要全局安装
npm install -g pm2
- 进入项目根目录
- 启动进程/应用
pm2 start bin/www
或pm2 start app.js
- 重命名进程/应用
pm2 start app.js --name wb123
- 添加进程/应用
watch pm2 start bin/www --watch
- 结束进程/应用
pm2 stop www
- 结束所有进程/应用
pm2 stop all
- 删除进程/应用
pm2 delete www
- 删除所有进程/应用
pm2 delete all
- 列出所有进程/应用
pm2 list
- 查看某个进程/应用具体情况
pm2 describe www
- 查看进程/应用的资源消耗情况
pm2 monit
- 查看pm2的日志
pm2 logs
- 若要查看某个进程/应用的日志,使用
pm2 logs www
- 重新启动进程/应用
pm2 restart www
- 重新启动所有进程/应用
pm2 restart all
二、配置环境变量
有两种文件配置形式
1、配置ecosystem.config.js
文件
在开发完项目后,新建ecosystem.config.js
文件到dist根目录
开启sit服务
pm2 start ecosystem.config.js --env sit
其他环境只需修改sit为不同环境即可
module.exports = {
apps: [
{
name: "main",
script: "./main.js",
env: {
NODE_ENV: "development",
// DB_HOST: "110.41.34.197",
// DB_DATABASE: "admin_auth",
// DB_USERNAME: "root",
// DB_PASSWORD: "Cy,.01283138!!!!",
// DB_PORT: "53306",
// THIRD_PARTY_SERVICES: "dev",
},
env_sit: {
NODE_ENV: "sit",
},
env_uat: {
NODE_ENV: "uat",
},
env_production: {
NODE_ENV: "production",
},
env_file: {
development: "env/.env.development",
sit: "env/.env.sit",
uat: "env/.env.uat",
production: "env/.env.production",
},
},
],
};
2、配置pm2.json
文件
在开发完项目后,新建pm2.json
文件到dist根目录
开启sit服务
pm2 start pm2.json --env sit
其他环境只需修改sit为不同环境即可
{
"apps": [
{
"name": "main",
"script": "./main.js",
"env": {
"NODE_ENV": "development"
},
"env_sit": {
"NODE_ENV": "sit"
},
"env_uat": {
"NODE_ENV": "uat"
},
"env_production": {
"NODE_ENV": "production"
},
"env_file": {
"development": "env/.env.development",
"sit": "env/.env.sit",
"uat": "env/.env.uat",
"production": "env/.env.production"
}
}
]
}