【Apache】apachectlとhttpd

個人めも。

>[apachectlコマンドとhttpdの違い](http://www.wegirls.tech/entry/2016/09/29/075200)

# apachectlで起動
>[apachectl - Apache HTTPサーバーコントロールインターフェース](https://httpd.apache.org/docs/2.4/ja/programs/apachectl.html)

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

```
$ sudo apachectl start
```

プロセスを確認します。
>[ps auxの見方がよく判らない・・・](https://usado.jp/spdsk/2018/03/26/post-3479/)

```
$ 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ハイパーテキスト転送プロトコルサーバ](https://httpd.apache.org/docs/2.4/ja/programs/httpd.html)


```
$ 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起動では動作が異なる？](https://www.tegos.co.jp/blog/apachectl%E8%B5%B7%E5%8B%95%E3%81%A8httpd%E8%B5%B7%E5%8B%95%E3%81%A7%E3%81%AF%E5%8B%95%E4%BD%9C%E3%81%8C%E7%95%B0%E3%81%AA%E3%82%8B%EF%BC%9F/)

>[サービスの再起動はinit.dではなくserviceを使わないとハマる](https://kumachan.biz/2015/12/21_2329/4440/)

# httpd.conf
``httpd.conf``の場所も要確認。
>[Apacheの設定ファイル httpd.confの場所](https://qiita.com/s2maeda/items/21d9458e44f86597d1ae)