www.smiyasaka.com  は、2021 年 1月から CentOS Stream 8 にバージョンアップしました。

systemctl service の新規作成



systemctl service の書込み先は、/usr/lib/systemd/system/ です。

サービス名は、apache2 として作成しています。
テストした結果こんな簡単な記述でいいのか不明ですが動作はしました。

@ apache2.service の作成

vi /usr/lib/systemd/system/apache2.service で下記をコヒペします。
---------------------------------------------------------------------------
[Unit]
Description=httpd-2.4.51 daemon
After=network.target

[Service]
Type=forking
ExecStart=
/usr/local/apache2/bin/apachectl start
ExecReload=
/usr/local/apache2/bin/apachectl graceful
ExecStopt=
/usr/local/apache2/bin/apachectl stop

[Install]
WantedBy=multi-user.target

---------------------------------------------------------------------------

上記の説明

[Unit]
Description= 
<---- サービス名を書込みます。
       ( コメント欄です。)

After=network.target
<--- systemdでネットワークが完全に
              立ち上がってからサービスを動かす

[Service]
Type=forking 
<---- 起動するプロセスをデーモン動作として起動する。
ExecStart=  
<---- サービス起動
ExecReload= 
<---- httpデーモンを安全に再起動
ExecStopt=  
<---- サービス停止

[Install]
WantedBy=multi-user.target 
<---- 旧来のrunlevel 3に相当する設定
---------------------------------------------------------------------------
A 起動・停止

 systemctl start apache2  <---- 起動
 systemctl reload apache2  <---- 安全な再起動(httpdのデーモン動作下で再起動)
 systemctl stop apache2   <---- 停止

B システム再起動時の自動起動設定

systemctl enable apache2

 以下のの様な表示が出ます。
---------------------------------------------------------------------------
ln -s '/usr/lib/systemd/system/apache2.service'
'/etc/systemd/system/multi-user.target.wants/apache2.service'
---------------------------------------------------------------------------
B 自動起動の解除

systemctl disable apache2

以下のの様な表示が出ます。
---------------------------------------------------------------------------
rm '/etc/systemd/system/multi-user.target.wants/apache2.service'
---------------------------------------------------------------------------
C ステータスの表示

systemctl status apache2

 以下のの様な表示例です。
---------------------------------------------------------------------------
* apache2.service - httpd-2.4.51 SSL daemon
  Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; vendor p...
  Active: active (running) since Sun 2021-11-14 14:08:22 JST; 1min 17s ago
  Process: 997 ExecStart=/usr/local/apache2/bin/apachectl start (code=exited,...
  CGroup: /system.slice/apache2.service
      |-1053 /usr/local/apache2/bin/httpd -k start
      |-1059 /usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/w...
      |-1060 /usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/w...
      |-1061 /usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/w...
      |-1064 /usr/local/apache2/bin/httpd -k start
      |-1066 /usr/local/apache2/bin/httpd -k start
      |-1067 /usr/local/apache2/bin/httpd -k start
      |-1068 /usr/local/apache2/bin/httpd -k start
      |-2069 /usr/local/apache2/bin/httpd -k start
  ( 以下省略 )