Назад | Перейти на главную страницу

В чем разница между apachectl и httpd.worker?

Моя служба хостинга, Webfaction, автоматически устанавливает сценарии запуска apache для приложений django / python. Установленный сценарий запуска:

#!/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 начало:

 0.0  1620 17462 /home/mertnuhoglu/webapps/django/apache2/bin/httpd -k start

Я хочу спросить три вещи:

  1. В чем разница между этими двумя способами запуска сервера Apache?

  2. В первом скрипте исполняемый файл (httpd.worker или httpd.conf или еще что) запускается?

  3. Почему httpd экземпляр во втором примере имеет -k start параметр? Это связано с apachectl?

  1. apachectl это обертка над httpd и просто устанавливает некоторые переменные среды и добавляет дополнительные функции, например configtest, подробнее Вот. httpd.worker как httpd но с рабочий модуль включен.

  2. Первый скрипт выполняет httpd.worker двоичный с httpd.conf Файл конфигурации.

  3. Верный, apachectl добавляет -k start параметр для httpd