[Amazon Linux] サーバー再起動時に、pm2を自動的に起動する
こんにちは、@yoheiMuneです。
AmazonやGoogleなどのクラウドでは、クラウド事業者の都合で、サーバーが自動的に再起動やお引越しされることもしばしば。あとオートスケーリング設定でサーバーが増えることもあったり。そんな時サーバー再起動にも、pm2が自動的に起動する方法をブログに書きたいと思います。
上記を実行すると、
最後にサーバーを実際に再起動してみて、pm2が本当に立ち上がるのかを確認すればOKです。
PM2 - Startup Script(本家、英語)
最後になりますが本ブログでは、Linux・インフラ・開発環境・Python・フロントエンド・Go言語・Node.js・Swift・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
AmazonやGoogleなどのクラウドでは、クラウド事業者の都合で、サーバーが自動的に再起動やお引越しされることもしばしば。あとオートスケーリング設定でサーバーが増えることもあったり。そんな時サーバー再起動にも、pm2が自動的に起動する方法をブログに書きたいと思います。
サーバー再起動時に、PM2を自動的に起動する
さてさっそく本題ですが、今回は以下のようなアプリが、pm2で稼働していることを想定して話を進めます。$ pm2 list ┌──────────┬────┬─────────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │ ├──────────┼────┼─────────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤ │ myapp │ 0 │ cluster │ 25258 │ online │ 575 │ 17h │ 0% │ 68.3 MB │ disabled │ │ myapp │ 1 │ cluster │ 25263 │ online │ 575 │ 17h │ 0% │ 68.9 MB │ disabled │ └──────────┴────┴─────────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘そしてpm2をサーバー起動時に自動的に動かすには、
pm2 startup
コマンドと、pm2 save
コマンドを利用することで実現できます。2つのコマンドを用いることで、init.dにpm2の起動を登録してくれます。# 使い方:pm2 startup [環境名] $ pm2 startup amazon上記では環境に
amazon
を指定していますが、CentOSやUbuntuなどそのほかの環境も指定することができます(詳細はこちらをご参照ください)。上記を実行すると、
/etc/init.d
以下に以下のファイルを作成します(表示例はrootユーザーで実行した場合)。$ ls /etc/init.d/pm2-root /etc/init.d/pm2-rootそして、それを有効化するために、
save
コマンドを利用します。$ pm2 save [PM2] Saving current process list... [PM2] Successfully saved in /root/.pm2/dump.pm2そして、有効化されたことを確認してみます。
$ chkconfig --list pm2-root 0:off 1:off 2:on 3:on 4:on 5:on 6:off無事に有効化されたことが確認できました。
最後にサーバーを実際に再起動してみて、pm2が本当に立ち上がるのかを確認すればOKです。
参考資料
pm2の今回の設定は、本家ドキュメントだと以下にあります。適宜ご参照ください。PM2 - Startup Script(本家、英語)
最後に
pm2は色々と便利な機能が満載ですね。Node.jsでの運用にはこれ一択でも良い気がしております。最後になりますが本ブログでは、Linux・インフラ・開発環境・Python・フロントエンド・Go言語・Node.js・Swift・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!