質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

1回答

1635閲覧

CentOS7 httpdなどのService管理について

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2018/10/01 07:32

cenotos6→7に移行してservice管理に戸惑っています。

・centos6では/etc/init.d/xxxで全て管理してきました。
・centos7になって、それが以下のようにsystemctlで管理していくのかと思っていたら、start/stop/restartなどはできても、configtestやgracefulはできないとありました。

systemctl コマンド httpd.service

みなさまはどのようにapacheを運営されているのかお聞きしたいです。

パターン①
起動・停止などはsystemctlで、configtestなどは【apachectl】で

パターン②
起動・停止などはsystemctlで、configtestなどは【service httpd コマンド】で

パターン③
それ以外

お手数ですが、お力添えの程よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

調べてみましたが、以下の手順のどれでもOKです。技術的にはどれも同じです。

自分がどれを使うかは正直気まぐれです。
古い環境もあるので手順書に書くときはまだserviceコマンドかも。。。

configtest

  • apachectl configtest
  • service httpd configtest

graceful

  • apachectl graceful
  • systemctl reload httpd
  • service httpd graceful

根拠

なぜどれでもいいのかというと、
まず、service httpd configtestapachectl configtest は全く同じだからです。

その理由は、/usr/libexec/initscripts/legacy-actions に graceful, configtest スクリプトが配置されていて、
service httpd configtest を実行すると、apachectlを呼び出すようになっているからです。
service httpd graceful についても同様です。

そして、systemctl reload httpdapachectl graceful と同じ理由ですが、
/sbin/apachectl に以下のように書かれているからです。
(configtestは直接httpdを呼び出しています)

graceful) /usr/bin/systemctl reload httpd.service

systemctl reload httpd.service については /usr/lib/systemd/system/httpd.service に以下のように記載されています。
このExecReloadが実際に実行されるコマンドです。

[Service] Type=notify EnvironmentFile=/etc/sysconfig/httpd ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND ExecReload=/usr/sbin/httpd $OPTIONS -k graceful ExecStop=/bin/kill -WINCH ${MAINPID}

RHELのガイド

技術的には同じですが、RHEL 7のガイドでは、apachectlを使えと書かれています。
なのでこれが安全かもしれませんね。

投稿2018/10/01 09:25

ikemo

総合スコア332

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/10/01 11:40

ご回答ありがとうございます。 systemctlで完結しないなら、serviceコマンド、apachectl一本にしたほうが便利なのでは・・?実際は皆さんどうやってるんだろう?と思い質問させていただきました。 起動・停止などの管理はsystemctlで行い、それで対応できない場合はapachectlやserviceコマンドを使うしかないんですね systemctlはあまり便利ではないと思うのは私だけでしょうか・・?
scsi

2018/10/01 12:12

その使い方だけなら便利ではないでしょうね。 疑問であれば何故採用されているか調べてみると良いです。
himazin.blm

2018/10/01 23:23

systemctlなら「systemctl start httpd postgresql bind postfix」とかいう書き方も可能とか 「systemctl status httpd」とかが増えてるとか、まあ便利になったところもありますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問