返回知识库服务器 · 运行与保底
进程守护Process Manager
直接在终端里跑的进程归这个窗口管。要把应用交给守护进程(pm2、systemd):关窗不停、崩溃自动拉起、服务器重启后自启,三件事都演示过才算能上线。
先对服务器做三件坏事,看应用还在不在
选一种启动方式,再依次关掉 SSH 窗口、让进程崩一次、重启服务器。进程列表、网站和右侧清单会跟着变;换启动方式后,旧结果会标「旧」需要重测。
任务:AI 说「应用已经在服务器上跑起来了」。你要在交付前确认三件事:关掉 SSH 窗口、进程崩溃、服务器重启之后网站都还在。
第 1 步 · 应用怎么启动(AI 报告里会写这条命令)
$ 服务器上的进程(类似 pm2 list)
名称状态重启运行时长归谁管
node(npm start)● online 运行中↻ 0刚启动这个 SSH 窗口
●●●https://app.example.com200 · 首页正常打开刚才:应用已启动,网站能打开。
验收三件事(在 SSH 窗口里 npm start)
- 未测关掉 SSH 窗口后网站仍在线
- 未测进程崩溃后自动拉起
- 未测服务器重启后自动恢复
✗ 还不能上线:当前方式过了 0/3
第 2 步 · 对服务器做一件事
知识点:谁在替你看着应用
面板上已经演过,这里只给命名。
- 在 SSH 窗口里直接 npm start,进程归这个窗口管;窗口一关、网络一断,进程就跟着退出,网站变 502。
- 守护进程(pm2、systemd)替你看着应用,要过三件事:关窗不停、崩溃自动拉起、服务器重启后自启。
- 开机自启是单独一步:pm2 要 save 当前进程列表并执行 startup,否则重启后列表是空的。
- 重启次数短时间飙升说明代码在反复崩溃。守护只是兜底,原因要去日志里找,见「日志」。
- systemd 是 Linux 自带的同类方案,AI 也可能写一个 .service 文件来做同样三件事;用了 Docker 时通常由容器的重启策略来管,见「Docker 容器」。
什么时候用、怎么用
只要应用跑在你自己的服务器上,就需要它。
- 信号:一关终端网站就挂;服务器重启后要手动登录去启动;AI 报告里只写了「已执行 npm start」。
- 交代 AI:用 pm2 或 systemd 启动,配置崩溃自动重启和开机自启,日志写到文件里。
- 验收:让 AI 演示三件事——关掉 SSH 后仍能访问、杀掉进程后自动拉起、重启服务器后自动恢复;在 pm2 list 里看状态是 online、重启次数不乱涨。
- 上线后:重启次数持续上涨要报警并查日志,见「监控告警」。
- 不适用:用 Vercel 这类托管平台时进程由平台管;部署流程本身见「部署」。
正反例:同一句「应用跑起来了」
目标都是让网站一直在线,差别只在交给谁看着。
正例pm2 启动 + save + startup,并演示过三件事半夜进程崩了一次,3 秒后自己回来;云厂商维护重启了机器,开机后网站自动恢复,你第二天只在重启次数里看到一笔记录。
反例「我在终端里 npm start 了,能打开」你关掉电脑下班,SSH 断开,网站随即 502;用户发来截图时你才发现,只能再登录服务器手动启动。
快速自测
AI 报告「已用 pm2 启动,关掉 SSH 也不会停」。你重启服务器后发现 pm2 list 是空的、网站 502。最该让 AI 补什么?
继续查证
术语的技术定义和行为以这些一手或权威资料为准。