Pereiti prie pagrindinio turinio

Apache web serverio trikčių šalinimas

Šioje pamokoje pateikiami pagrindiniai žingsniai, kaip diagnozuoti ir spręsti Apache web serverio problemas.

Apache serverio būsenos patikrinimas

Jei kyla problemų su svetaine ar serveriu, pirmiausia patikrinkite Apache būseną.

1) Debian/Ubuntu:

sudo systemctl status apache2

2) AlmaLinux/Rocky Linux:

systemctl status httpd

Jei serveris neveikia, pabandykite jį paleisti iš naujo:

1) Debian/Ubuntu:

sudo service apache2 restart

2) AlmaLinux/Rocky Linux:

sudo service httpd restart

Net jei Apache jau veikia, perkrovimas gali būti naudingas. Taip pamatysite paleidimo pranešimus. Jei gaunate klaidą, jos tekstą galite panaudoti paieškai internete ir rasti daugiau informacijos.

Apache perkrovimas be sustabdymo

Perkrovimas leidžia Apache iš naujo perskaityti konfigūracijos failus ir pritaikyti pakeitimus be pilno restarto, todėl išvengiama prastovų.

1) Debian/Ubuntu:

/etc/init.d/apache2 reload

2) AlmaLinux/Rocky Linux:

/etc/init.d/httpd reload

Apache žurnalai (logs)

Norėdami patikrinti klaidas, galite naudoti komandą su -f parametru, kuris realiu laiku rodo naujausius įrašus:

tail -f /var/log/apache2/error.log

1) Debian/Ubuntu:

cat /var/log/apache2/error.log

2) AlmaLinux/Rocky Linux:

cat /var/log/httpd/error_log

Prieigos žurnalai taip pat padeda analizuoti lankytojų veiklą:

1) Debian/Ubuntu:

/var/log/apache2/access.log

2) AlmaLinux/Rocky Linux:

/var/log/httpd/access_log

Apache konfigūracijos sintaksės tikrinimas

Apache turi įrankį konfigūracijos patikrinimui. Jis padeda aptikti klaidas, pvz., trūkstamus skliaustus:

1) Debian/Ubuntu:

apache2ctl -t

2) AlmaLinux/Rocky Linux:

httpd -t

Virtualių serverių (VirtualHost) peržiūra

Galite peržiūrėti visus sukonfigūruotus virtualius serverius, jų nustatymus bei failus, kuriuose jie aprašyti:

1) Debian/Ubuntu:

apache2ctl -S

2) AlmaLinux/Rocky Linux:

httpd -S

Tai padeda:

  • nustatyti visus serveryje veikiančius domenus

  • rasti tikslų konfigūracijos failą, kurį reikia redaguoti

Gauto rezultato paaiškinimas

Visos direktyvos turi naudoti IP adresus ir portus, kurie atitinka NameVirtualHost nustatymus.

Pavyzdžiui, jei naudojate:

NameVirtualHost *:80

tuomet virtualaus serverio konfigūracija turi prasidėti atitinkamai.

Konfliktuojančios Apache direktyvos

Jei pakeitimai neveikia po perkrovimo, gali būti, kad kita direktyva juos perrašo.

Svarbiausia taisyklė: vėliau perskaitytos direktyvos turi prioritetą.

Svarbūs aspektai:

  • Įtraukti failai apdorojami įtraukimo vietoje

  • Jei įtraukiamas katalogas, failai apdorojami abėcėlės tvarka

  • Debian ir Ubuntu sistemose failas /etc/apache2/ports.conf nustato NameVirtualHost ir Listen reikšmes, kurios gali konfliktuoti su kitais nustatymais

  • Katalogų nustatymai įkeliami serverio paleidimo ar perkrovimo metu

  • .htaccess failai apdorojami prieš pateikiant turinį, todėl gali perrašyti katalogų nustatymus

Dėl testavimo rekomenduojama laikinai išjungti .htaccess failus.

Daugiau informacijos apie Apache web serverį galite rasti oficialioje dokumentacijoje.

Ar gavote atsakymą į savo klausimą?