systemctlにサービスを追加する
サーバ入れ替えでLinuxのディストリビューションがRHEL7に。サーバが起動するときに立ち上がってほしいサービスは以前は/etc/rc2.dとかそのあたりにスクリプトを書いていたんですが、RHEL7からはsystemctl経由でやるみたい。
新規サービス(例えばソースから入れたapacheを上げる)を起動時にあげたいときの手順をメモ。
/usr/lib/systemd/system 以下へ起動サービスに関する記述を追加
ソースから入れたapache(/usr/local/apache2以下へインストール)を起動したい場合は、/usr/lib/systemd/system/apache2.servieというファイルを作成して、内容に以下。
[Unit] Description=The Apache HTTP Server (/usr/local/apache2) After=network.target remote-fs.target nss-lookup.target Documentation=man:httpd(8) Documentation=man:apachectl(8) [Service] Type=forking ExecStart=/usr/local/apache2/bin/apachectl start ExecReload=/usr/local/apache2/bin/apachectl restart ExecStop=/usr/local/apache2/bin/apachectl stop # We want systemd to give httpd some time to finish gracefully, but still want # it to kill httpd after TimeoutStopSec if something went wrong during the # graceful stop. Normally, Systemd sends SIGTERM signal right after the # ExecStop, which would kill httpd. We are sending useless SIGCONT here to give # httpd time to finish. KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.target