Como começar a usar o httpd com a ativação do soquete (systemd)?


14

O servidor httpd apache raramente é necessário em um de nossos pequenos servidores; portanto, seria bom iniciá-lo através da ativação do soquete pelo systemd (e mais tarde interrompido quando não houver tráfego por algum tempo). Isso é possível e, se sim, como?


Reformulei o texto acima e a edição atingiu o tempo limite em 5 minutos. Os efeitos práticos podem não ser úteis. Um cliente precisa se conectar com um comando 'startup' antes de fazer solicitações normais. O cliente não sabe antecipadamente se o httpd está ativo; portanto, o comando de inicialização precisa ser enviado antes de qualquer solicitação normal. O atraso será alto. Na vida real, as aranhas e os bots do mundo podem se manter perpetuamente perplexos. A pergunta pode ser reformulada para permitir respostas como 'use um servidor http leve como o lighthttpd e deixe-o sempre ativo'.
Rlir

Respostas:


2

Isso é possível com o Apache 2.5 com mod_systemd .

Para versões mais antigas do Apache, você pode usar systemd-socket-proxyd (8), mas isso não interrompe automaticamente o serviço Apache após um tempo limite.


Na verdade, isso é implementado no núcleo do servidor , não no mod_systemd . (Então construção mod_systemd para o Apache 2.4 não vai chegar soquete de ativação.)
Julian

0

Arquivo:

httpd.socket

Conteúdo:

[Socket]
ListenStream=80
ListenStream=0.0.0.0:80
#BindIPv6Only=ipv6-only
After=network.target
Requires=network.target

[Install]
WantedBy=sockets.target

Verifique se o serviço apache também é chamado de httpd.


isso não funciona porque a porta não é encaminhado para httpd.service de httpd.socket
Edward Torvalds
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.