web-dev-qa-db-ja.com

apachectlとhttpd.workerの違いは何ですか?

私のホスティングサービスであるWebfactionは、Django/pythonアプリ用のApache起動スクリプトを自動的にインストールします。インストールされている開始スクリプトは次のとおりです。

#!/bin/bash
LD_LIBRARY_PATH=/home/mertnuhoglu/webapps/dj02/Apache2/lib /home/mertnuhoglu/webapps/dj02/Apache2/bin/httpd.worker -f /home/mertnuhoglu/webapps/dj02/Apache2/conf/httpd.conf -k start

このスクリプトは、httpd.workerインスタンスを開始します。

 3364       00:03  8950 /home/mertnuhoglu/webapps/dj02/Apache2/bin/httpd.worker

最近、カスタムアプリのインストールについて チュートリアル に従いました。このチュートリアルでは、開始スクリプトは次のように定義されています。

#!/bin/bash
/home/rocketmonkeys/webapps/Django/Apache2/bin/apachectl start

このスクリプトは、httpd -k startを開始します。

 0.0  1620 17462 /home/mertnuhoglu/webapps/Django/Apache2/bin/httpd -k start

私は3つのことを尋ねたいと思います:

  1. Apacheサーバーを起動するこれら2つの方法の違いは何ですか?

  2. 最初のスクリプトでは、どの実行可能ファイル(httpd.workerまたはhttpd.confまたはその他)が実行されますか?

  3. 2番目の例のhttpdインスタンスに-k startパラメーターがあるのはなぜですか?これはapachectlによるものですか?

6
Mert Nuhoglu
  1. apachectlhttpdのラッパーであり、いくつかの環境変数を設定し、configtestなどの機能を追加します。詳細は ここ です。 httpd.workerhttpdに似ていますが、 ワーカーモジュール が有効になっています。

  2. 最初のスクリプトは、httpd.worker構成ファイルを使用してhttpd.confバイナリを実行します。

  3. 正解です。apachectl-k startパラメータをhttpdに追加します

7
wag