Linuxサービス
systemdまたはsupervisordを使用すると、machbase-neoプロセスをシステムサービスとして登録し、起動時に自動的に開始できます。
起動・停止スクリプトの作成
neo-start.shの作成
$ vi neo-start.shserveコマンドに--pid <path>フラグを指定して、プロセスIDを指定したパスのファイルに記録します。
| |
シェルスクリプトに実行権限を付与します。
$ chmod 755 neo-start.shneo-stop.shの作成
$ vi neo-stop.sh保存したpidファイルを使ってkillコマンドで停止し、kill -0でプロセスが完全に終了するまで待ちます。
| |
$ chmod 755 neo-stop.shsystemd
neo.serviceの作成
$ cd /etc/systemd/system
$ sudo vi neo.service | |
- 環境に合わせて
Userとパスを変更してください。
サービスの有効化
$ sudo chmod 755 neo.service
$ sudo systemctl daemon-reloadホストの再起動時に自動的に開始するように設定します。
$ sudo systemctl enable neo.service完了
サービスを有効にした後は、以下のコマンドで操作できます。
$ sudo systemctl start neo.service
$ sudo systemctl status neo.service
$ sudo systemctl stop neo.servicesupervisord
neo.confの作成
$ cd /etc/supervisor/conf.d
$ sudo vi neo.conf | |
- 環境に合わせて
userとパスを変更してください。 - 上記の例では、ログフォルダー
/data/logがあらかじめ存在する必要があります。
Supervisordの更新
$ sudo supervisorctl reread
$ sudo supervisorctl update完了
サービスを有効にした後は、次のコマンドでmachbase-neoを操作できます。
$ sudo supervisorctl start neo
$ sudo supervisorctl status neo
$ sudo supervisorctl stop neoPM2
neo-start.shの作成
$ vi neo-start.sh | |
- ログはPM2が管理するため、
--log-filenameオプションは不要です。
neo-start.shへの実行権限の付与
$ chmod 755 neo-start.shPM2によるmachbase-neoの起動
$ pm2 start /data/neo-start.sh --name neo --log /data/log/machbase-neo.logmachbase-neoの状態を確認します。
$ pm2 status neoPM2の自動起動設定
- 設定済みの場合は、この手順を省略できます。
起動スクリプトを自動生成するには、pm2 startupコマンドをsudoなしで実行します。
$ pm2 startup
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u machbase --hp /home/machbase表示されたコマンドをコピーしてターミナルに貼り付けます。
| |
これでPM2は起動時に自動的に再起動します。
アプリケーション一覧の保存
すべてのアプリケーションを起動した後に一覧を保存すると、再起動後に自動的に復元されます。
$ pm2 save完了
以下のコマンドでmachbase-neoを操作できます。
$ pm2 start neo
$ pm2 status neo
$ pm2 stop neo
$ pm2 restart neo
$ pm2 logs neo
$ pm2 monit最終更新日