如何检查Phusion Passenger选择运行node.js的用户?

时间:2017-11-12 22:35:50

标签: node.js nginx meteor passenger

在我的nvm安装了节点版本的情况下使用Phusion Passenger的最佳做法是什么?

在使用Passenger运行Meteor应用程序的this tutorial中,我读到了:

  

[Y]我们的Meteor应用程序以...的所有者身份运行   main.js文件(部署Meteor软件包时),除非您配置它   除此以外。当然,你仍然必须确保你的每一个   应用程序由另一个用户拥有。

Meteor 1.6适用于Node.js v8.8.1,所以我使用nvm来安装节点。我创建了一个特殊的meteor用户来运行node和nvm的nvm安装。因此,节点安装在/home/meteor/.nvm/versions/node/v8.8.1/bin/node/home/meteor/.nvm/versions/node/v8.8.1/bin/已添加到meteor用户的$ PATH变量中。因此,将node -v称为meteor用户会显示已安装并可访问v8.8.1。

我跟着this tutorial将我的Meteor应用程序部署到我的服务器。

作为meteor目录中的bundle/programs/server用户,我运行了npm install --production。我让meteor成为bundle/内部的所有者。

我原以为Passenger会以meteor用户身份启动节点,并且一切都会顺利进行。相反,Passenger展示了一个有用的警报页面,道歉“出了问题”。

要解决此问题,我在/usr/bin/node创建了一个指向/home/meteor/.nvm/versions/node/v8.8.1/bin/node的符号链接,现在Passenger很乐意启动捆绑的应用。

这表明Passenger 正在main.js用户meteor。或者是否有另一个原因导致meteor用户无法看到自己的节点版本?

上面的引用表明可以配置Passenger使用的用户。我该怎么做?

简而言之:使用nvm安装的节点版本的官方Passenger方法是什么?

1 个答案:

答案 0 :(得分:1)

您希望将节点版本设置为nvm节点的完整路径:https://www.phusionpassenger.com/library/config/standalone/reference/#--nodejs-nodejs

对于用户切换,您可以将日志级别设置为7(https://www.phusionpassenger.com/library/config/standalone/reference/#--log-level-log_level)以进行调试,并自行完成启动日志或在此处发布。