【Apache】apachectlとhttpd


個人めも。

apachectlコマンドとhttpdの違い

apachectlで起動

apachectl - Apache HTTPサーバーコントロールインターフェース

起動オプションはstart-k startの両方が使えます。

$ sudo apachectl start

プロセスを確認します。

ps auxの見方がよく判らない・・・

$ ps aux|grep httpd
yuki             31467   0.0  0.0  4267932    608 s001  R+    3:17PM   0:00.00 grep httpd
_www             31464   0.0  0.0  4315324    980   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31463   0.0  0.0  4315324   1008   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31462   0.0  0.0  4315324    948   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31461   0.0  0.0  4315324    924   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
_www             31460   0.0  0.0  4315324    968   ??  S     3:17PM   0:00.00 /usr/local/opt/httpd/bin/httpd -k start
root             31459   0.0  0.1  4315304   6544   ??  Ss    3:17PM   0:00.07 /usr/local/opt/httpd/bin/httpd -k start

このコマンドでも同様の結果が得られます。

$ which apachectl
/usr/local/bin/apachectl
$ sudo /usr/local/bin/apachectl start

ps auxで表示されたコマンドも。

$ sudo /usr/local/opt/httpd/bin/httpd -k start

httpdで起動

httpd - Apacheハイパーテキスト転送プロトコルサーバ

$ sudo httpd -k start
$ ps aux|grep httpd
yuki             33071   0.0  0.0  4268040    788 s001  S+    4:46PM   0:00.00 grep httpd
_www             33068   0.0  0.0  4315324    996   ??  S     4:46PM   0:00.00 httpd -k start
_www             33067   0.0  0.0  4315324    968   ??  S     4:46PM   0:00.00 httpd -k start
_www             33066   0.0  0.0  4315324    948   ??  S     4:46PM   0:00.00 httpd -k start
_www             33065   0.0  0.0  4315324   1004   ??  S     4:46PM   0:00.00 httpd -k start
_www             33064   0.0  0.0  4315324   1012   ??  S     4:46PM   0:00.00 httpd -k start
root             33063   0.0  0.1  4315348   6584   ??  Ss    4:46PM   0:00.07 httpd -k start
$ which httpd
/usr/local/bin/httpd
$ sudo /usr/local/bin/httpd -k start
$ ps aux|grep httpd
yuki             33113   0.0  0.0  4268040    780 s001  S+    4:47PM   0:00.00 grep httpd
_www             33110   0.0  0.0  4306108   1004   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33109   0.0  0.0  4306108    964   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33108   0.0  0.0  4306108   1004   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33107   0.0  0.0  4314300   1020   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
_www             33106   0.0  0.0  4306108   1028   ??  S     4:47PM   0:00.00 /usr/local/bin/httpd -k start
root             33105   0.0  0.1  4306132   6556   ??  Ss    4:47PM   0:00.07 /usr/local/bin/httpd -k start

起動確認

-k start

-k startを確認する限り、apachectlとhttpdは別物の起動としては見られていないようでした。

apachectl起動中にhttpdを起動しようとしたところ、すでに起動しているとのメッセージが出ます。

$ httpd -k start
httpd (pid 31717) already running

service

自分の端末ではserviceが使えず確認できませんでした・・・
それ以前に起動スクリプトinit.dも存在しない・・・

動作はちょっとイレギュラーになる?
参照先も要確認。

apachectl起動とhttpd起動では動作が異なる?

サービスの再起動はinit.dではなくserviceを使わないとハマる

httpd.conf

httpd.confの場所も要確認。

Apacheの設定ファイル httpd.confの場所