環境ファイルディレクティブ

環境ファイルディレクティブ

この質問は@FrusteratedWithFormsDesignerから来ました。コメント

exportinit.dスクリプトで設定された環境変数を同じinit.dスクリプトで開始されたダウンストリームプロセスで使用できるようにするにはどうすればよいですか?

詳しくは、Amazon EC2インスタンスを使用しており、init.dスクリプトを使用してnode.jsサーバーを制御します。このサーバーはnodemonファイルの変更を観察し、node必要に応じて再起動することで制御されます。つまり、私のinit.dスクリプトが起動してnodemonから起動しますnode。 init.dスクリプトに設定されている環境変数は、では使用できますが、使用できないようexportです。これらの環境変数も使用できるようにするにはどうすればよいですか?nodemonnodenode

現在私のAmazon EC2インスタンスではinit.dのみを使用できますが、init.dスクリプトを使用するとこれは可能ですか?それ以外の場合は、upstartまたは可能な限りsystemdを使用してこれを達成できますか?

ベストアンサー1

FedoraやUbuntu 16.04などのシステムベースのLinuxディストリビューションに切り替えることをお勧めします。systemd環境変数はプロセスに簡単に渡すことができ、失敗したプロセスを自動的に再起動し、起動時に開始するタスクを処理できます。 systemdのログもロギングを非常によく処理します。 systemdはオペレーティングシステムのディストリビューションの一部であるため、他のものをインストールまたは実行するためのオーバーヘッドはありません。

以下は、systemdを使用してユニットファイルに2つの環境変数を設定する例です。

Environment="ONE=one" 'TWO=two two'

完全な文書は次のとおりです。ここ

初期化システムとプロセスマネージャの両方が環境変数の渡しを処理するため、問題は部分的に複雑です。 systemd を初期化システムおよびプロセスマネージャとして使用すると、複雑さがなくなります。

おすすめ記事