📟
仮想マシン(VM)でbotを常時起動する
こんにちは、似鳥です!
今回は、仮想マシン上でbotを常時起動させる方法を備忘録も兼ねて書いていきたいと思います!
ネットを探索するとnohupとかがありましたが、全然駄目だったのでSystemmdに登録してデーモン化します
ユニットファイルを作成する
hoge.serviceを/etc/systemd/systemに作成します!
(パスは/etc/systemd/system/hoge.service)
ファイルの内容は以下にしてください
「hoge」はサービス名、「hogekun」はユーザー名です。
「WorkingDirectory」は実行するファイルのあるディレクトリのパスを入力してください。
「ExecStart」は1つ目はNode.jsのパス、2つ目はbotの実行ファイルのパスを入力してください。
編集する必要のある箇所に●を付けてあります
(印のついた状態でちゃんと動くかがよく分からないので、編集するついでに消してもらえると嬉しいです)
hoge.service
[Unit]
Description= Node.js hoge #●
[Service]
Type=simple
User=hogekun #●
WorkingDirectory=/home/hogekun/programs/botkun #●
ExecStart=/bin/node /home/hogekun/programs/botkun/index.js #●
ExecStop=/usr/bin/pkill -e node
Restart=always
RestartSec=2
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=hoge #●
[Install]
WantedBy=multi-user.target
Systemdへの登録等
- ファイルが認識されているかの確認
$ systemctl list-unit-files --type=service | grep hoge
- 起動する
$ systemctl start hoge.service
- 状態を確認する
$ systemctl status hoge.service
- 自動起動を有効にする
$ systemctl enable hoge.service
おわりに
以上が仮想マシンでbotを自動起動する方法です!
仮想マシンじゃなくてもだいたい動くと思いますのでぜひやってみてください!
Discussion