使用 PM2 部署
PM2 是一个非常流行的 Node.js 进程管理工具,能够帮助开发者管理应用的启动、停止、重启和日志。通过 PM2 部署 Koa 应用,可以轻松地实现应用的高可用性和自动重启。
1. 安装 PM2
首先,确保你已经安装了 PM2。如果还没有安装,可以通过 npm 安装:
bash
npm install -g pm2
2. 启动 Koa 应用
假设你的 Koa 应用入口文件是 app.js
,你可以通过 PM2 启动应用:
bash
pm2 start app.js
PM2 会启动你的应用,并会在后台运行。
2.1 启动应用并指定应用名称
为了方便管理,你可以为你的应用指定一个名称:
bash
pm2 start app.js --name "koa-app"
这样,你可以通过应用的名称来管理应用,而不必记住文件名。
3. 配置环境变量
在实际部署中,你可能需要设置不同的环境变量,比如开发环境、生产环境等。你可以使用 PM2 来管理这些环境变量。
3.1 启动应用并传递环境变量
bash
pm2 start app.js --name "koa-app" --env production
在应用代码中,可以通过 process.env
访问这些环境变量。
3.2 使用 .env
文件
你也可以将环境变量保存在 .env
文件中,然后通过 pm2
配置该文件:
bash
pm2 start app.js --env-file .env
4. 应用重启与自动重启
PM2 会自动重启崩溃的应用,但你也可以手动重启应用。
4.1 重启应用
bash
pm2 restart koa-app
4.2 开启自动重启
PM2 会根据应用的内存和 CPU 使用情况自动重启应用。你可以配置自动重启的条件,如内存限制:
bash
pm2 start app.js --name "koa-app" --max-memory-restart 200M
当应用使用的内存超过 200MB 时,PM2 会自动重启应用。
5. 查看应用状态
使用 PM2,你可以轻松查看应用的状态、日志等信息。
5.1 查看应用状态
bash
pm2 status
5.2 查看应用日志
bash
pm2 logs koa-app
6. 配置 PM2 启动脚本
为了确保服务器重启时自动启动应用,你可以使用 PM2 的启动脚本功能。
6.1 生成启动脚本
bash
pm2 startup
这将生成一条命令,复制并执行该命令后,PM2 将配置为在系统启动时自动启动。
6.2 保存应用列表
bash
pm2 save
保存当前的应用状态,以便系统重启时恢复运行。
7. 停止与删除应用
当你不再需要某个应用时,可以通过 PM2 停止或删除该应用。
7.1 停止应用
bash
pm2 stop koa-app
7.2 删除应用
bash
pm2 delete koa-app
8. 总结
PM2 提供了强大的进程管理功能,使得部署和管理 Koa 应用变得更加简单。通过 PM2,你可以实现应用的高可用性、自动重启以及在服务器重启后的自动启动,从而确保你的应用在生产环境中稳定运行。