PM2使用
使用进程管理器 PM2
PM2 是一个为 Node.js 应用设计的、带有负载均衡功能的生产环境进程管理器。用它来管理 npx
执行的命令是最佳实践。
优点:
- ✅ 进程守护:程序崩溃后会自动重启。
- ✅ 开机自启:可以配置,让服务器重启后自动运行你的服务。
- ✅ 日志管理:自动分割和管理日志,方便查看。
- ✅ 性能监控:可以监控 CPU 和内存占用。
- ✅ 跨平台:在 Linux, macOS 和 Windows 上都能用。
操作步骤:
1. 全局安装 PM2
如果还没安装,先用 npm 或 yarn 安装。
sudo npm install pm2 -g
2. 使用 PM2 启动你的命令
关键在于,需要把整个 npx ...
命令作为字符串传递给 PM2。
# --name "mcp-server" 是给你的进程起一个好记的名字,方便管理pm2 start "npx -f -y dpml-prompt@beta mcp-server --transport http --port 3000" --name "mcp-server"
3. 管理你的应用
- 查看所有进程状态:
pm2 list # 或者 pm2 ls
- 实时查看日志:
pm2 logs mcp-server
- 停止应用:
pm2 stop mcp-server
- 重启应用:
pm2 restart mcp-server
- 删除应用(从 PM2 列表):
pm2 delete mcp-server
4. 设置开机自启(实现“一直不挂”的关键)
这是最重要的一步,确保服务器重启后服务能自动运行。
# 1. 生成启动脚本
pm2 startup# 2. pm2会生成一行命令,你需要复制并执行它(可能需要 sudo 权限)
# 例如,它可能会生成类似这样的命令:
# sudo env PATH=$PATH:/home/user/.nvm/versions/node/v18.12.1/bin /usr/local/bin/pm2 startup systemd -u your_username --hp /home/your_username# 3. 保存当前的应用列表,以便开机时加载
pm2 save
完成以上三步,你的服务就真正实现了“一直不挂”,既能防崩溃,也能防重启。