Portál AbcLinuxu, 24. května 2024 22:37


Dotaz: Něco vyvolává restart Apache a ten spadne

22.6.2021 09:25 Howard | skóre: 19
Něco vyvolává restart Apache a ten spadne
Přečteno: 645×
Odpovědět | Admin
Na jednom serveru máme Apache 2.4.43 na portech 81/444 a nginx 1.16.1 na portech 80/443 nastavený jako reverzní proxy a servírování statického obsahu. Web běží v PHP 7.2 a distribuce linuxu je openSUSE 15.2 (pouze oficiální repa, packman a snappy (kvůli certbotu, který je ve snapu (bohužel))).

Asi po 2 měsících po instalaci nginxu se začalo dít to, že poté co je vyvolán reload apache, ten spadne.
[Tue Jun 22 08:16:39.928633 2021] [mpm_prefork:notice] [pid 1150] AH00171: Graceful restart requested, doing restart
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
[Tue Jun 22 08:16:39.943105 2021] [mpm_prefork:alert] [pid 1150] no listening sockets available, shutting down
[Tue Jun 22 08:16:39.943110 2021] [:emerg] [pid 1150] AH00019: Unable to open logs, exiting
[Tue Jun 22 08:16:48.218955 2021] [core:warn] [pid 4268] AH00098: pid file /var/run/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Tue Jun 22 08:16:48.221327 2021] [mpm_prefork:notice] [pid 4268] AH00163: Apache/2.4.43 (Linux/SUSE) OpenSSL/1.1.1d PHP/7.2.5 configured -- resuming normal operations
[Tue Jun 22 08:16:48.221358 2021] [core:notice] [pid 4268] AH00094: Command line: '/usr/sbin/httpd-prefork -D SYSCONFIG -D SSL -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loa
dmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache2/httpd.conf -c Include /etc/apache2/sysconfig.d//include.conf'
[Tue Jun 22 08:16:48.408676 2021] [core:notice] [pid 4268] AH00052: child pid 4278 exit signal Segmentation fault (11)
[Tue Jun 22 08:16:48.408777 2021] [mpm_prefork:notice] [pid 4268] AH00169: caught SIGTERM, shutting down
Nechápu ani tu kontrolu portu 80, tam je nginx, nikoliv apache.

Není mi jasné ani to, proč byl vyvolán restart - že by logrotate, nebo něco jiného, jak to zjistit?

Hlavní problém je ale to, proč se to takhle sesype a co s tím dělat.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.6.2021 10:42 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
Odpovědět | | Sbalit | Link | Blokovat | Admin
že by logrotate, nebo něco jiného, jak to zjistit?
Zjistit těžko, dělá se to signálem HUP nebo USR1 a musel byste odchytit, kdo ho poslal. Logrotate by to být mohlo.
Hlavní problém je ale to, proč se to takhle sesype a co s tím dělat.

Najít, proč se Apache pokouší zabrat si port 80. Začal bych s grep -R :80 /etc/apache2
Quando omni flunkus moritati
22.6.2021 11:20 bigBRAMBOR | skóre: 37
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
urcite bych zacal timhle, apache si jen tak sam nevymysli ze chce na port 80 a hlaseni Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80 je jasne. Nekde v conf ma bindovani i portu 80 na vsech adresach. Jestli tam mas nginx tak vubec neni potreba aby apache byl na 0.0.0.0 ale staci na 127.0.0.1.

nevim jak na suse, ale na RHEL logrotate v postrotate vyvolava reload sluzby, jestli nemuze bindnout port tak asi rozumne nenabehne.
22.6.2021 11:03 MM
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkontroluj ještě apache configy, odkud to bere a zda používá správné, fakt to vypadá, že se snaží o port 80 a ne 81, Ohledně Segmentation fault asi neporadím, lze to debugovat přes gdb, spíše se podívat a zkusit jinou/novější verzi PHP, zda nepomůže. Soudím, že to bude problém s přístupem procesu potomka mimo vyhrazenou paměť.
AraxoN avatar 22.6.2021 13:46 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to tak, logrotate robí graceful reštart apache.

Ten port 80 je krajne podozrivý, neostalo v apache configu niečo takéto?
Listen 80
Nakoniec by som sa pozastavil nad tým PHP 7.2. To je verzia, na ktorú už od minulého roka nerobia ani len bezpečnostné záplaty: Supported Versions
22.6.2021 14:27 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
Nakoniec by som sa pozastavil nad tým PHP 7.2. To je verzia, na ktorú už od minulého roka nerobia ani len bezpečnostné záplaty: Supported Versions
Odkaz na php.net je pěkný, ale odkaz na web OpenSUSE, ve kterém se píše, které verze PHP (ne)podporují by byl lepší. (To vaše je něco jako když Wordpress běžící na longterm Debianu tvrdí, že PHP 7.0 je nebezpečné a neudržované)
Quando omni flunkus moritati
22.6.2021 14:47 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
A distribúcie sami aktívne odhaľujú a opravujú chyby v zastaralom SW, alebo len backportujú hotfixy z novších verzií ktoré pochopiteľne nepokrývajú všetky opravy kódu upstreamom nepodporovanej verzie?
AraxoN avatar 22.6.2021 15:02 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
Určite, ten jeden človek, čo na tom v OpenSUSE robí, je v tom nepochybne lepší než celý PHP tím.</sarcasm>

Akože áno, sem-tam vidím aj nejaké weby bežiace na PHP5, ale používanie takto starých verzií je vždy skôr prejavom lajdáctva než dômyselnosti.
Jendа avatar 22.6.2021 16:40 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
Určite, ten jeden človek, čo na tom v OpenSUSE robí, je v tom nepochybne lepší než celý PHP tím.
A co má jako dělat? Přejít na rolling distribuci? Nainstalovat si novější PHP z neoficiálního repa?
Řešení 1× (Filip Jirsák)
22.6.2021 18:27 Howard | skóre: 19
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji všem za odpovědi.

V /etc/apache2 se nikde 80 nevyskytuje.

Dalo mi to docela práci na to přijít. Dělal to certbot - ta potvora se snažila automaticky obnovit jeden certifikát a pouštět Apache na portu 80. Jenže jaksi nevěděl, že i když vypne Apache, na portu 80 pořád něco bude a nedokázal se s tím poprat, celé to vedlo až k segmentation fault.

Zrušil jsem obnovování certifikátů pro Apache, vlastně jsem zrušil i ten zapomenutý virtualhost s LE certifikáty. Požadavky jedou přes nginx, takže u Apache to vlastně už nemělo smysl.
24.6.2021 13:25 bigBRAMBOR | skóre: 37
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
ten cert se urcite nesnazil obnovit jen tak sam od sebe, neco v cronu?
24.6.2021 14:07 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Něco vyvolává restart Apache a ten spadne
neco v cronu?

Hádal bych, že tak se spouští ten certbot (pokud rovnou neběží nepřetržitě jako služba, protože služeb není nikdy dost)
Quando omni flunkus moritati

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.