UniServer / UniPrint / UniHttpd


Tips/Antergos/Systemd/UniHttpd


UniHttpdサーバをSystemdでデーモン起動登録する

  • Unitを定義する
    $ sudo gedit /etc/systemd/system/unihttpd.service
    [Unit]
    Description=unihttpd daemon
    After=network.target
[Service]
WorkingDirectory=/home/uchi/Desktop/misc/UniHttpd
ExecStart=/home/uchi/Desktop/misc/UniHttpd/Nioserver.sh
Restart=always
Type=simple
User=root
[Install]
WantedBy = multi-user.target
  • 定義されたか確認する
    $ sudo systemctl list-unit-files --type=service |grep uni
    unihttpd.service      disabled
  • 利用可能にする
    $ sudo systemctl enable unihttpd
    $ sudo systemctl list-unit-files --type=service |grep uni
    unihttpd.service      enabled
  • 起動する
    $ sudo systemctl start unihttpd
  • 起動状態を確認する
    $ sudo systemctl status unihttpd

firewall(ufw)設定でhttpポートを開ける


/etc/init.d/* スクリプトをSystemdに移行するときの注意

  • start(){}関数内の処理を&でBGプロセスで終了させると、Systemdがプロセスが終了したとみなしてしまう。Restart=alwaysにしておくと、何度も、再起動してしまう
  • でも、結局終了したとみなしてしまう。
  • スタートはしたけど、(inactive)になってしまう
  • なので、最後の行の&ははずすこと

参考URL

 

Copyright © UTL Co.,Ltd. All Rights Reserved. [UTL]