Iniciando o Apache como o serviço é encerrado com o SIGWINCH

12

Ao executar service apache start, vejo no arquivo de log esta entrada:

[mpm_event:notice] [pid 1906:tid XXX] AH00489: Apache/2.4.23 (Unix)
                         OpenSSL/1.0.2g PHP/7.0.9 configured -- resuming normal operations
[core:notice] [pid 1906:tid XXX] AH00094: Command line: '/usr/sbin/httpd'
[mpm_event:notice] [pid 1906:tid XXX] AH00492: caught SIGWINCH, shutting down gracefully

e o serviço apachenão inicia? Eu posso encontrar na internet o que SIGWINCHsignifica [ Window size change], mas isso realmente não me ajuda neste caso.

O arquivo /etc/systemd/system/apache.service:

[Unit]
Description=The Apache Webserver [FaF Compiled]
After=network.target nss-lookup.target time-sync.target
[email protected] plymouth-quit.service xdm.service

[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/httpd -k start
ExecReload=/usr/sbin/httpd -k graceful
ExecStop=/usr/sbin/httpd -k graceful-stop
KillMode=mixed

[Install]
WantedBy=multi-user.target
Alias=httpd.service apache.service

Executando no SLES 12 SP1. Eu compilei o Apache sozinho. Começando com ele apachectl -k startfunciona perfeitamente e eu posso acessar e executar o código PHP.

Minha pergunta: O que estou fazendo de errado para que o apacheserviço não seja iniciado. Eu o habilitei com systemctl enable apache. Esta foi a saída:

ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/httpd.service'
ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/apache.service'
ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/multi-user.target.wants/apache2.service'
Al Bundy
fonte
Como foram SIGWINCHfatais? A ação padrão é descartar o sinal.
thrig

Respostas:

2

systemdestá instruindo o Apache a parar com graceful-stop, o que gera um SIGWINCHsinal e, portanto, o log caught SIGWINCH, shutting down gracefully. (o SIGWINCHsinal é (ab) usado pelo Apache)

Na IMO, existe a possibilidade de outro erro, incluindo erros de configuração, parando e você está observando sintomas relacionados que são comportamento normal.

Eu recomendaria folheando seus logs de erro do Apache, geralmente por padrão no SLES sob o diretório /var/log/apache2.

Rui F Ribeiro
fonte
1

Encontrei um problema semelhante relatado no RedHat . Fechado com o status "NOTABUG". Eventualmente reconhecido como configuração incorreta.

img # 1 1


img # 2 2


img # 3 3


ATUALIZAR

Encontrei mais um problema semelhante relatado na falha do servidor . E mais uma na resposta, na imagem abaixo.

img 1/1insira a descrição da imagem aqui


fonte
-DFOREGROUNDnão ajuda no meu caso. O Apache inicia, mas ele não retorna servicee, portanto, servicereclamaapache2.service start operation timed out. Terminating.
218 Al Bundy
Você leu o tópico no link?
1
Eu desisto. Entendo a situação, mas não tenho idéia de como corrigi-la. Descobri que quando removo a ExecReload=partir de /usr/lib/systemd/system/apache2.serviceentão SIGWINCHnão é enviado, mas o Apache não inicia - nenhuma mensagem de erro no log, nada. Ele fecha imediatamente quando é iniciado. Eu implementei agora o hack que eu executo apachectl -k startcomo um trabalho cron quando o sistema é iniciado. Eu posso reiniciar o Apache com apachectl -k restart. Eu vou tentar mais tarde; pode ser que eu tenha algumas idéias novas.
Al Aloy
Encontrei mais um, diferente. Veja atualização.
0

De um comentário sobre o relatório de erros da Red Hat, vinculado à resposta de Tomasz :

Parece que você precisa executar o 00-systemd.conf se quiser que o systemd reconheça que o httpd foi iniciado com êxito.

Eu executei isso e funcionou:

ln -sr /etc/httpd/conf.modules.d/00-systemd.conf /etc/httpd/conf.d/00-systemd.conf
systemctl restart httpd

Estou no Amazon Linux 2 (provavelmente também funcionará no RHEL / Centos 7).

luds
fonte
Obrigado por dar crédito, mas ... onde você conseguiu isso?
G-Man Diz 'Reinstate Monica'
@ G-Man Eu editei esta resposta para atribuir corretamente essa citação.
Anthony Geoghegan