始めに
pm2というnpmのパッケージを利用して、本番環境向けにnode.jsアプリを動かす方法です。以前は、pm2と同じくプロセスの永続化ができるforeverというパッケージを使っていたのですが、pm2のほうがなにやら便利だしちょっとかっこいい系(語彙力..)なので、今回はpm2の使い方を簡単に紹介したいと思います。
目次
pm2のインストール
npmでグローバルインストールするだけ
npm i pm2 -g
pm2の設定ファイルを作成
ファイル名はなんでも良いですが、わかりやすいようにconfigフォルダにpm2.jsonというファイルを作成。
そのファイル内で以下の様に指定します。
{
"name" : "アプリ名",
"script" : "./bin/www",
"env": {
"NODE_ENV" : "development"
},
"env_development": {
"NODE_ENV" : "development"
},
"env_staging": {
"NODE_ENV" : "staging"
},
"env_production": {
"NODE_ENV" : "production"
}
}
直接スクリプトを指定してスタートすることもできますが、このように設定ファイルを用意しておくことで引数を指定することができます。
pm2でアプリケーションを立ち上げてみる
以下のコマンドで、先ほどのjsonファイルを指定してpm2を起動します。
pm2 start ./config/pm2.json --env development
無事にdevelopment環境でExpressが起動することが確認できるかと思います。
pm2で立ち上げたアプリケーションの停止
設定ファイルに書いたnameを指定して操作ができます
pm2 stop "アプリ名"
その他の基本的なコマンド
ホットデプロイ
開発環境で起動しているときにソースの変更を検知して再起動してくれる
pm2 start *** --watch
再起動
pm2 restart ***
起動中のプロセスを確認
pm2 list
モニタリング
pm2 monit
ログの表示
pm2 logs
ログの消去
pm2 flush
最後に
冒頭でなんかかっこいいと書いたのはpm2 monitでみれる画面ですね。
使ってみた感じとてもよかったのでぜひとも使ってみてください。