Tag: ubuntu Tag: ubuntu1604 Tag: ubuntu1804
スクリプトをサービスとして登録し、電源投入時に自動起動
PHPのビルトインウェブサーバーを起動を本体の電源が入った際に自動的に起動するようにしてみます。色々やり方があるようですが、Ubuntu18.04の場合は、systemdでサービスとして起動するようにするのが簡単の様です。
スクリプトをサービスとして登録し自動起動すると、エラーで終了しても自動起動される。
このページでは、「/home/isao/phpweb」を登録するものとして説明します。
Ubuntu18.04とUbntu16.04で動作確認しました。
登録するスクリプトを準備
ファイル: /home/isao/phpweb
#!/bin/bash
su -c "cd /home/isao/php_html;php -S localhost:8888" isao
サービスとして認識、実行
ファイル: /lib/systemd/system/phpweb.service
[Unit]
Description=demo sample php web
[Service]
Type=simple
ExecStart=/home/isao/phpweb
Restart=always
[Install]
WantedBy=multi-user.target
設定が認識されたか確認する
# systemctl list-unit-files --type=service | grep phpweb
phpweb.service disabled
サービスを有効にする
# systemctl enable phpweb
Created symlink /etc/systemd/system/multi-user.target.wants/phpweb.service → /lib/systemd/system/phpweb.service.
サービスを無効にする
# systemctl disable phpweb
情報表示
# systemctl status phpweb
や
# service phpweb status
サービスを有効にして、本体を再起動すれば、phpwebは自動起動する。
初回、再起動せずにサービスを起動したい場合
# systemctl start phpweb
# service phpweb start
なお、上記の設定では、
# service phpweb stop
としてサービスは停止しない。
PIDをkillしてもサービスは自動的に再起動する。
止める場合は、
サービスを無効にしてから、PIDを調べてkillします。