Eu tenho um servidor web Ubuntu 22.04.1 executando o Apache2 Server hospedando 2 sites [site do Django e outro site de hospedagem de arquivos]. O que estou tentando alcançar: Definir o servidor para dormir o tempo todo em que não estiver em uso. quando recebe um pedido HTTP, acorda por 20 min. (Para dar aos clientes algum tempo para usar o site), então vá dormir.
Eu lidei com a 2ª parte definindo o temporizador automático do Ubuntu para 20 minutos. e funcionou (dorme após 20 min. de acordar)
Meu problema é com a 1ª parte. Após dias de pesquisa e tentativas, não consigo encontrar uma maneira de fazer o servidor acordar apenas em solicitações HTTP. Eu tentei wol do ethtool, todas as opções 'pumbg', mas o servidor acorda em horários aleatórios sem enviar nenhuma solicitação ao servidor.
Isso não é possível. Solicitações HTTP são tratadas pelo servidor web que reside dentro do seu servidor Ubuntu. Se a máquina virtual do seu servidor Ubuntu estiver desativada, o tráfego de entrada nunca alcançará o servidor web que está dentro dela.
Na melhor das hipóteses, você provavelmente usará a tecnologia WOL (Wake On Lan) em seu firewall para enviar um pacote mágico para ligar a máquina virtual novamente e garantir que seu servidor web esteja configurado para iniciar automaticamente na inicialização.