Qual é a diferença entre o apachectl e o httpd.worker?

6

Meu serviço de hospedagem, o Webfaction, instala os scripts de início do apache para aplicativos django / python automaticamente. O script de inicialização instalado é:

#!/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

Este script inicia uma instância do link :

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

Recentemente, eu segui um tutorial para a instalação de aplicativos personalizados. Neste tutorial, o script de início é definido como:

#!/bin/bash
/home/rocketmonkeys/webapps/django/apache2/bin/apachectl start

Este script inicia um link :

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

Eu gostaria de perguntar três coisas:

  1. Qual é a diferença entre essas duas maneiras de iniciar o servidor apache?

  2. No primeiro script, qual executável ( httpd.worker ou httpd.conf ou outra coisa) é executado?

  3. Por que httpd instance no segundo exemplo tem o parâmetro -k start ? Isso é devido a apachectl ?

por Mert Nuhoglu 18.12.2010 / 11:50

1 resposta

7
  1. apachectl é um wrapper sobre httpd e apenas define algumas variáveis de ambiente e adiciona outras funcionalidades, como configtest , mais em detalhes aqui . httpd.worker é como httpd , mas com o módulo de trabalho ativado.

  2. O primeiro script executa o binário httpd.worker com o arquivo de configuração httpd.conf .

  3. Corrigir, apachectl acrescenta o parâmetro -k start a httpd

por 18.12.2010 / 12:28