[httpd][2.2]自動起動設定(systemd)

今回の環境は、以下をインストールした状態となります。

  • CentOS 7.3.1611
  • httpd 2.2.31
  • apr 1.5.2
  • apr-util 1.5.4
  • pcre 8.39

httpd 2.2.31 のインストール は以下の記事を参照ください。

環境 今回、インストールを行った環境は、以下の通りです。 OS:CentOS 6.7 インストールするものは、以下です。 ...

systemdではなく、initによる起動スクリプトを使った自動起動設定は、以下を参照ください。

環境 今回の環境は、以下をインストールした状態となります。 OS:CentOS 6.7 httpd:2.2.31 a...

systemdの設定

Unitファイルの作成

systemdでhttpdプロセスを制御するために、httpd用のUnitファイルを作成します。

# vi /usr/lib/systemd/system/httpd.service

Unitファイルの内容は、以下のような感じでいいと思います。

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl -k start
ExecReload=/usr/local/apache2/bin/apachectl -k graceful
ExecStop=/usr/local/apache2/bin/apachectl -k stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemdのリロード

Unitファイルを作成したら、systemdをリロードして読み込ませましょう。

# systemctl daemon-reload

確認

ここまでで、systemdコマンドを使ってhttpdの起動・停止・再起動ができるようになっているはずです。
確認してみましょう。

# systemctl start httpd
# ps -ef | grep httpd | grep -v grep
root 13616 1 0 13:22 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13617 13616 0 13:22 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13618 13616 0 13:22 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13619 13616 0 13:22 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13620 13616 0 13:22 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13621 13616 0 13:22 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start

# systemctl restart httpd
# ps -ef | grep httpd | grep -v grep
root 13641 1 0 13:23 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13642 13641 0 13:23 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13643 13641 0 13:23 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13644 13641 0 13:23 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13645 13641 0 13:23 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
apache 13646 13641 0 13:23 ? 00:00:00 /usr/local/apache-2.2.31/bin/httpd -k start
(PIDが変わっているので、プロセスが再起動している)

# systemctl stop httpd
# ps -ef | grep http | grep -v grep
(プロセスが起動していない)

自動起動の設定

最後に、OSが起動時にhttpdが自動起動するように設定しておきます。

# systemctl list-unit-files | grep httpd
httpd.service disabled
(自動起動の設定はdisabledになっている)

# systemctl enable httpd

# systemctl list-unit-files | grep httpd
httpd.service enabled
(自動起動の設定はenabledになっている = 自動起動する)

以上で、systemdでの自動起動設定は完了です。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク