起動時にrootとして実行する必要があるデーモンがあります。pm2でrootとしてアプリケーションを起動する
私はpm2を使って他のアプリを起動しますが、アプリをrootとして起動できるかどうかはわかりません。それはできますか?
そうでない場合、私の選択肢は何ですか?
起動時にrootとして実行する必要があるデーモンがあります。pm2でrootとしてアプリケーションを起動する
私はpm2を使って他のアプリを起動しますが、アプリをrootとして起動できるかどうかはわかりません。それはできますか?
そうでない場合、私の選択肢は何ですか?
あなたは、(sudoがapp.jsを開始PM2)ルートとしてPM2を開始する必要があり、その後、あなたのアプリが
は私が推薦するルートとして起動します:
sudo pm2 start index.js
OR
pm2 start 'http-server' /var/www -p 80
sudo pm2 startup
pm2 save
OR
pm2 start 'which http-server' /var/www -p 80
HTTPポートで起動するには
また、私はいつも最後に-i 0
を置く - これはあなたがコアを持つものと同じ数のワーカープロセスを起動します。チェックTHIS
必ずしもrootとしてPM2を起動する必要はありません。 rootとしてPM2があり、cliモジュールがインストールされている場合、セキュリティは大きなリスクです。これは、1〜1024のポートでアプリケーションを起動する場合にのみ必要です
ポート番号(80または443など)にアクセスするためにデーモンをrootで実行する必要がある場合は、pm2 documentationauthbind
を使用することをお勧めします。
$ sudo apt-get install authbind
$ sudo touch /etc/authbind/byport/80
$ sudo chown yourusername /etc/authbind/byport/80
$ sudo chmod 755 /etc/authbind/byport/80
$ authbind --deep pm2 update
をそしてpm2
の代わりにauthbind --deep pm2
を使用する:あなたがポート80へのアクセス権を持っているユーザーyourusername
をしたいのであれば、実行します。ドキュメンテーションはエイリアスの設定を示唆しています。
私はsudo pm2 start api
に問題があったが、PM2は既にsudo権限なしで実行していたので、これはだった、そのあなたが実行する必要があります。
pm2 kill
sudo pm2 start api
これは、それがsudoの中で起動するように、最初のPM2デーモンを殺すが、その後、ALL pm2コマンドのsudoが必要です。sudo pm2 ls
まず、pm2をグローバルにインストールします。このコマンド
sudo chown ubuntu:ubuntu /home/ubuntu/.pm2/rpc.sock /home/ubuntu/.pm2/pub.sock
を使用してPM2へ 次に設定root権限この作品行いますが、私がルートaswellとして他のアプリを実行することを要求しているようです。 –