nvmがインストールされたノードのバージョンでPhusion Passengerを使用する場合のベストプラクティスは何ですか?流星のアプリを実行するために旅客を使用して上のthis tutorialで Phusion Passengerでnode.jsを実行するユーザを確認する方法を教えてください。
は、私が読んで:
[Y]は、当社の流星アプリケーションは main.jsファイルの所有者...として実行される(ときMeteorバンドルをデプロイしてください)。それ以外の場合は に設定します。もちろん、お使いの のアプリケーションのそれぞれが別のユーザーによって所有されていることを確認する必要があります。
Meteor 1.6はNode.js v8.8.1で動作するので、nvmを使用してノードをインストールしました。 nodeとnvmのnvmインストールを実行するために特別なmeteor
ユーザを作成しました。したがってノードは/home/meteor/.nvm/versions/node/v8.8.1/bin/node
にインストールされ、meteor
ユーザーの$ PATH変数に/home/meteor/.nvm/versions/node/v8.8.1/bin/
が追加されました。その結果、ユーザーとしてnode -v
を呼び出すと、v8.8.1がインストールされ、アクセス可能であることが示されました。
私のサーバーにMeteorアプリケーションをデプロイするためにthis tutorialに従った。
bundle/programs/server
ディレクトリのmeteor
ユーザの場合、npm install --production
を実行しました。私はmeteor
内のすべての所有者bundle/
を作った。
私は、Passengerがノードをmeteor
というユーザーとして起動し、すべてがスムーズに動作することを期待していました。代わりに、乗客は "何かが間違っていた"と謝罪して、有用な警告ページを示した。
これを回避するには、/usr/bin/node
のシンボリックリンクを/home/meteor/.nvm/versions/node/v8.8.1/bin/node
に設定しました。これで、Passengerはバンドルされたアプリケーションを起動できました。
これは、旅客ががmeteor
ユーザーとしてmain.js
を実行していなかった私に示唆しています。あるいは、ユーザが自分のノードのバージョンを見ることができなかったもう一つの理由がありますか?
上記の引用文は、Passengerがどのユーザーを使用するかを設定できることを示しています。それ、どうやったら出来るの?
nvmによってインストールされたノードのバージョンで作業する公式のPassengerメソッドは何ですか?