使用PM2之后,是不是xshell断开了跟服务器的连接,退出来了,nodejs服务一样在线的

使用PM2管理Node.js应用

PM2是一个进程管理器,可以帮助你保持Node.js应用始终运行。

安装PM2:

复制代码
npm install -g pm2

启动你的应用:

sql 复制代码
pm2 start server.js --name my-node-app

查看应用状态:

复制代码
pm2 list

使用 PM2 后,即使关闭 Xshell 连接,Node.js 服务依然会持续运行

这是因为:

PM2 是一个进程守护工具(Process Manager) ,它的核心功能就是让 Node.js 应用在后台独立运行 ,并且不受终端会话(SSH)断开的影响。


🔍 原理说明

当你直接运行 node server.js:

  • 进程依赖于当前终端(TTY)
  • 一旦你关闭 Xshell(SSH 断开),系统会发送 SIGHUP 信号,进程被终止 ❌

当你使用 pm2 start server.js:

  • PM2 会把你的应用以"守护进程(daemon)"方式运行
  • 进程脱离终端,独立存在于系统中 ✅
  • 即使你退出 SSH,进程依然在后台运行
  • 还能自动重启崩溃的应用(高可用)

✅ 验证方法

你可以通过以下命令检查服务是否仍在运行:

bash 复制代码
bash
深色版本
# 查看所有 PM2 管理的进程
pm2 list

# 查看详细信息和日志路径
pm2 info dify-feishu-connector

# 查看实时日志(确认服务在输出日志)
pm2 logs dify-feishu-connector

只要 pm2 list 中显示状态是 online,就说明服务正在运行 ✅


🧰 常用 PM2 命令(推荐收藏)

命令 说明
pm2 start server.js --name myapp 启动应用并命名
pm2 list 查看所有应用状态
pm2 info myapp 查看应用详细信息
pm2 logs myapp 查看实时日志
pm2 restart myapp 重启应用
pm2 stop myapp 停止应用
pm2 delete myapp 从 PM2 列表中删除
pm2 startup 设置开机自启(重要!)

🔐 设置开机自启(防止服务器重启后服务消失)

运行一次即可:

shell 复制代码
bash
深色版本
# 生成开机启动命令
pm2 startup

# 按提示执行输出的命令,类似:
# sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u your_username --hp /home/your_username

这样即使服务器重启,PM2 也会自动拉起你的 Node.js 服务 ✅


📌 总结

问题 回答
关闭 Xshell 后服务还在吗? ✅ 在!PM2 守护着它
是否需要一直开着终端? ❌ 不需要
如何确保服务器重启后还能运行? ✅ 执行 pm2 startup 设置开机自启
如何查看服务是否正常? ✅ pm2 list 和 pm2 logs

你现在完全可以放心关闭 Xshell,你的 /retrieval 接口依然可以通过 https://www.jt-eletech.com/retrieval 被 Dify 正常访问!

相关推荐
Apipi*17 分钟前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP1 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
广州浮点FLOATLIC4 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
BLUcoding4 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK4 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2084 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)4 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter6254 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器
xh didida6 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
zly35007 小时前
centos7 mount设备挂载 /dev/sda1/硬盘挂载
linux·运维·服务器