Node.js应用部署于Plesk Obsidian+Phusion Passenger(R)随机崩溃求助
解决Plesk Obsidian + Phusion Passenger下Node.js应用随机崩溃问题
问题分析
错误日志中shellName = 'false' detected as supporting '-l': false表明Phusion Passenger启动应用时,错误将false识别为当前shell,导致内部辅助工具"wrapper"无法正常执行,进而引发应用启动失败。该问题通常与环境变量配置、Plesk用户shell设置或Passenger环境检测逻辑异常有关。
修复步骤
1. 修正用户shell设置
- 登录Plesk面板,找到对应域名的托管系统用户
- 进入用户设置,确认用户登录shell为有效值(如
/bin/bash或/bin/sh),而非false - 命令行修改方式(替换
username为实际用户名):chsh -s /bin/bash username
2. 重启Passenger服务(无需重启服务器)
- Plesk面板操作:进入对应域名的应用程序设置,点击重启应用按钮
- 命令行操作:
systemctl restart passenger
3. 重置环境变量
- 在应用启动脚本或Plesk环境配置中添加:
export SHELL="/bin/bash" - 执行
echo $SHELL验证当前用户的shell配置是否正常
4. 更新Phusion Passenger版本
- 进入Plesk面板扩展->Phusion Passenger,检查并更新到最新稳定版本,修复旧版本可能存在的环境检测bug
验证方式
- 手动重启应用,确认是否能正常启动
- 持续监控应用运行状态,观察随机崩溃现象是否消失
内容的提问来源于stack exchange,提问作者WonderLight800
相关产品推荐
相关产品推荐

