我已经通过cPanel以及所有Phusion Passenger文件和依赖项安装了Node.JS。我可以通过SSH手动运行该应用程序。我已经在cPanel的“应用程序管理器”中创建了该应用程序。但是,在“启用”应用程序之后,它实际上并没有在“运行”,只会导致出现“乘客错误”页面。它说它无法执行该应用程序。
如果我手动检查/etc/apache2/conf.d/userdata/ssl/2_4/username/subdomain/application_name.conf
中的应用程序配置文件,则可以看到它没有PassengerStartupFile
的条目。如果我添加行
PassengerStartupFile ./bin/www
并重新启动旅客服务,可以正常使用,我可以通过URL访问它。但是,如果我通过cPanel禁用并重新启用该应用程序,则会重新生成conf文件,并且该条目会丢失。
如何获取cPanel来添加PassengerStartupFile
项,或如何使乘客从package.json
文件或环境变量或其他内容中自动检测启动文件?
作为一种变通办法,我创建了第二个application_name_patch.conf
文件,其中缺少配置行,以便最终将它们全部编译在一起,但这很繁琐...
答案 0 :(得分:1)
您要在application_name_patch.conf
文件旁边添加第二个appliation_name.conf
文件的解决方案正是您需要的解决方案,如此处所述:How to Install a Node.js Application。
链接的文章建议您将路径/etc/apache2/conf.d/userdata/ssl/2_4/user/domain.nodejs.conf
用于自定义启动文件,但是我建议您使用路径/etc/apache2/conf.d/userdata/ssl/2_4/user/domain/nodejs.conf
,因为这会将自定义配置放置在与原始应用程序相同的目录中conf文件。