sudo AWS ec2 sudo ノードに環境変数を渡す

sudo AWS ec2 sudo ノードに環境変数を渡す

私はLinuxとAWSを初めて使用します。 EC2インスタンスで実行されているNode.jsサーバーがあります。ポート80で無限に実行されるように、次のコマンドを実行しています。

 $ sudo node app.js &

これで、ノードアプリを使用して実行すると、sudo環境変数が見つかりません。

データベースに接続するには、環境変数USER、PASSWORD、およびIPを設定できる必要があります。数多くの命令を試しましたが、環境変数1つの設定だけに成功しましたが、新しい変数を設定するので削除されました。

解決策

Jeff Schallerが以下に示す例のおかげで、私が探していたものを見つけました。私はそれを試してみましたが、なぜそれがうまくいかなかったのかわからず、最終的にいくつかのシェルスクリプトを学びました。

まず私は走った$ vim runapp.sh。次に、次のコードを追加しました。

#!/bin/sh
Clear
export USER="Username"
export PASSWORD="Password"
export IP="1.1.1.1"
Node ./bin/www

ファイルを保存して実行してみました。$ chmod +x runapp.sh

ついに私はそれを実行し、$ sudo ./runapp.sh &完全に実行された。

これを行わないでください、バグがある、またはより良い、より安全な方法がある場合は、お知らせください。最終的に問題を解決できます。

答え1

次のファイルを作成します。

#!/bin/sh
USER=u PASSWORD=p IP=10.10.10.10 node app.js

...または...

#!/bin/sh
USER=u; export USER
PASSWORD=p; export PASSWORD
IP=10.10.10.10; export IP
node app.js

...ここで、「u」、「p」、および「10.10.10.10」の代わりに必要な値を入力できます。たとえば、ファイルを次のように保存し、runappchmod u+x runappのように実行可能にします。

sudo ./runapp &

関連情報