O Apache2 não está iniciando meu servidor da Web

8

Então, eu corro este comando:

/etc/init.d/apache2 start

E diz:

* Starting web server apache2 [ OK ]

Mas! Meu site ainda não aparece. E!

service --status-all
 [ - ]  apache2

Whaattt ...? O que está acontecendo? ; (

[Sat May 01 14:45:18 2010] [warn] pid file /var/run/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Sat May 01 14:45:18 2010] [notice] Apache/2.2.11 (Ubuntu) PHP/5.3.2 configured -- resuming normal operations
[Sat May 01 14:45:18 2010] [alert] (11)Resource temporarily unavailable: apr_thread_create: unable to create worker thread
[Sat May 01 14:45:18 2010] [alert] (11)Resource temporarily unavailable: apr_thread_create: unable to create worker thread
[Sat May 01 14:45:20 2010] [alert] No active workers found... Apache is exiting!
    
por Robert Ross 01.05.2010 / 22:46

3 respostas

3

No Linux, isso geralmente se deve ao alto ThreadsPerChild + ulimit -s alto ou ilimitado.

No Linux, o tamanho da pilha padrão para cada encadeamento é o valor ulimit -s ou 8-10 megabytes - o Apache precisa de cerca de 512 kilobytes de espaço de pilha ou menos em uso normal.

Isso rapidamente sobrecarrega o tamanho do espaço de endereçamento de 32 bits com o TPC próximo de 200+ ou, se você tiver limites de memória do sistema, pode entrar em conflito com eles também.

Defina ulimit -s 512 no seu arquivo "envvars" enviado junto com o apachectl - note que o ThreadStackSize não ajuda aqui porque isso define um mínimo.

    
por 09.01.2011 / 23:54
2

Esta é uma nova instalação ou já foi estável e não pode iniciar o backup?

Memória insuficiente pode ser a causa, embora um "(12) Não é possível alocar memória: apr_thread_create: incapaz de criar um thread de trabalho "deve ser exibido se for esse o caso.

É mais provável que você esteja excedendo a configuração PTHREAD_THREADS_MAX em seu sistema operacional. Você pode aumentar isso ou diminuir ThreadsPerChild dentro do Apache.

Provavelmente você está usando a distribuição "Worker" do Apache, o "prefork" pode ser mais apropriado porque usa 1 thread por processo, vs "worker" que usa muitos threads por processo.

Fontes:

por 02.05.2010 / 01:02
1

Dê uma olhada nos logs, especialmente no error_log. Isso deve ajudar. Se isso não ajudar, tente executar o comando apache2:

strace -f -o output.txt /etc/init.d/apache2 start

strace irá rastrear as chamadas do sistema (o sinalizador -f strace para seguir os processos filhos também e o sinalizador -o grava a saída no arquivo output.txt)

    
por 01.05.2010 / 23:03

Tags