Úvod
Někdy se můžeme dostat do problémů, když jeden z našich webových serverů nebo stránek nefunguje. Měli bychom být schopni identifikovat tento problém, který pravděpodobně způsobuje problémy, a problém vyřešit.
V tomto článku se s vámi podělíme o několik kroků pro odstraňování problémů, což jsou některé z běžných kroků, které provádějí správci, když web není správně přístupný. Můžete se podívat na tyto kroky a problém vyřešit, abyste mohli svůj web zprovoznit a běží.
Předpoklady
K vyřešení těchto problémů budete potřebovat:
- Přístup k serveru Linux pomocí uživatele sudo.
Krok 1 :Zkontrolujte stav serveru
Než budete pokračovat ve zmíněných krocích, nejprve musíme zkontrolovat, zda máte přístup k samotnému serveru. Někdy může dojít k výpadku samotného serveru. Můžete to ověřit pomocí příkazu ping a ssh
ping your_server_ip
Pokud můžete pingnout váš server a jeho UP, dostanete výstup, jak je uvedeno níže
e2e@compaqlaptop:~$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=18.0 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=20.1 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=21.3 ms ^C --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 18.042/19.837/21.342/1.362 ms e2e@compaqlaptop:~$
Pokud je váš server mimo provoz, v takovém případě nedostanete žádný ping. Můžete zkontrolovat konzolu serveru, zda neobsahuje nějakou chybu, a restartovat server přes Můj účet
Poznámka:Někdy se může stát, že nebudete moci pingnout na server, i když je váš server UP a může to být způsobeno tím, že je na vašem serveru zakázán ping
Měli byste být také schopni SSH a přihlásit se k serveru, abyste si ověřili, zda je v pořádku. Ke svému serveru můžete přistupovat přes ssh pomocí příkazu níže
ssh [email protected]
pokud se nemůžete přihlásit ke svému serveru, je pravděpodobné, že váš server nefunguje nebo je ve stavu zavěšení a zkontrolujte konzolu serveru, zda nedošlo k nějaké chybě, a restartujte server přes Můj účet
Krok 2 :Monitorování serveru
Vysoké zatížení procesoru nebo spotřeba paměti může způsobit, že váš server nebude reagovat. Můžete si přečíst tento článek o tom, jak monitorovat E2E server přes Zabbix
Jakmile identifikujete anomálie ve využití zdrojů vašeho serveru, můžete podle toho podniknout nezbytná opatření, abyste tomuto problému zabránili.
Krok 3 :Kontrola protokolů
Než vystopujeme jakýkoli z problémů, musíme nejprve zkontrolovat protokoly našeho webového serveru a souvisejících komponent. Pokud jsme našli nějakou chybu protokoly nebo jakékoli podezřelé protokoly o přístupu logs,Budeme schopni přesně identifikovat problémy.
Protokoly budou obvykle přítomny v adresáři /var/log . pokud máte server Apache spuštěný na serveru Ubuntu, ve výchozím nastavení budou protokoly uchovávány v /var/log/apache2 . Zkontrolujte soubory v tomto adresáři, abyste viděli, jaké chybové zprávy se generují. Pokud používáte distribuci, která ve výchozím nastavení označuje Apache jako httpd, budou protokoly uchovávány na adrese
/var/log/httpd.log
Pokud jako webový server používáte Nginx, protokoly jsou obvykle umístěny níže
/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/nginx/nginx_error.log
/var/log/nginx/access_error.log
Zkontrolujte soubory v tomto adresáři, abyste viděli, jaké chybové zprávy se generují. Alternativně můžete také zkontrolovat konfigurační soubory webového serveru, pokud jste nakonfigurovali ruční cestu pro protokoly.
Chcete-li zkontrolovat nejnovější protokoly generované ze serveru, můžete spustit pod ocas příkaz, jak je znázorněno v níže uvedeném příkladu
tail -f /var/log/nginx/access.log
tail -f /var/log/httpd.log
Můžete také zobrazit méně příkaz k zobrazení úplných protokolů, jak je uvedeno níže, Ujistěte se, že jste v níže uvedeném příkazu změnili cestu k souboru protokolu podle vaší.
less /var/log/nginx/access.log
jakmile v protokolech identifikujete problém, můžete jej snadno zjistit a podle toho jej opravit.
Krok 4 :Ujistěte se, že váš webový server běží
Můžete ověřit, zda jsou vaše služby v pořádku a fungují správně. Jednou z metod, jak zkontrolovat, zda služby běží, je preferovaná metoda distribuce, je zkontrolovat pomocí níže uvedeného sdíleného příkazu.
Použijte stav příkaz ke kontrole, zda je služba spuštěna nebo ne. Pokud služba není spuštěna, můžete ji spustit níže start příkaz
Pokud používáte distribuci, která odkazuje na Apache jako Apache2, příkazy k použití funkce apache2 jsou uvedeny níže
service apache2 start
service apache2 stop
service apache2 restart
service apache2 reload
service apache2 status
Pokud používáte distribuci, která odkazuje na Apache jako httpd, pak jsou příkazy následující:
service httpd start
service httpd stop
service httpd restart
service httpd reload
service httpd status
Příkazy pro použití funkcí Nginx jsou uvedeny níže
service nginx start
service nginx stop
service nginx restart
service nginx reload
service nginx status
Krok 5 :Ověření syntaxe webového serveru
Pokud se váš webový server nespustí, znamená to, že může být problém s vaším konfiguračním souborem.
Apache i Nginx potřebují správnou syntaxi direktivy, aby bylo možné soubory číst. Konfigurační soubory jsou umístěny níže
Výchozí konfigurační adresáře pro Apache jsou
Distribuce Debian a Ubuntu:/etc/apache2/
Fedora, distribuce CentOS:/etc/httpd/
Konfigurační adresáře pro Nginx jsou
/etc/nginx/
Každý z těchto webových serverů vám také poskytuje možnost zkontrolovat konfigurační syntaxi vašich souborů. Chcete-li zkontrolovat syntaxi konfiguračních souborů Apache bez nutnosti restartovat server, můžete na systémech Debian a Ubuntu spustit následující příkaz
apache2ctl -t
httpd -t
Chcete-li zkontrolovat syntaxi konfigurace na Nginx, použijte níže uvedený příkaz
nginx -t
Po spuštění výše uvedeného příkazu se zobrazí zpráva jako Syntaxe OK nebo Test je úspěšný ,To znamená, že v konfiguraci vašeho webového serveru není žádná chyba. Pokud se zobrazí zpráva jako „test se nezdařil“, v konfiguračním souboru je uveden neplatný argument, který je třeba upravit.
Krok 6:Funguje back-end databáze v pořádku
Pokud jste nakonfigurovali svůj web pro připojení k databázovému back-endu, jako je MySQL, PostreSQL, MongoDB atd., musíte se ujistit, že je v provozu. Můžete to udělat, když jste zkontrolovali webový server.
Spusťte níže uvedený příkaz a ověřte, zda vaše databáze MySQL/Mongod používáte, ať už používáte kteroukoli.
service mysql status
service mysqld status
service mongod status
Alternativně můžete také ověřit pomocí níže uvedeného příkazu netstat
netstat -ntlp | grep mysql
Pokud je vaše MySQL v provozu, obdržíte výstup, jak je uvedeno níže.
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3356/mysqld
Krok 7 :Ověřte, zda je váš webový/aplikační server schopen se připojit na backend databáze
I když je váš webový server a databázový server v pořádku, někdy můžeme čelit problémům s jejich konektivitou, protože vaše aplikace se nebude moci úspěšně připojit k databázi.
Například na webu WordPress lze nastavení připojení k databázi testovat pomocí konfigurace umístěné v souboru wp-config.php. Aby se váš web mohl připojit k databázi, musíte zkontrolovat správnost položek DB_NAME, DB_USER a DB_PASSWORD.
Můžete otestovat, zda má soubor správné informace, pokusem o ruční připojení k databázi změnou příslušné hodnoty v příkazu níže
mysql -hDB_Host -uDB_USER -pDB_PASSWORD
Krok 8:Ujistěte se, že jsou porty otevřené
I když je veškerá konfigurace a konektivita v pořádku, někdy nebudete mít přístup k webu, protože nakonfigurované porty musí být přístupné. Webové servery běží na portu 80 pro normální webový provoz a používají port 443 pro provoz šifrovaný pomocí SSL.
Můžete zkontrolovat, zda jsou nakonfigurované porty otevřené pomocí příkazu telnet
telnet your_server_ip 80
telnet your_server_ip 443
Pokud jsou vaše porty otevřené
, získáte výstup jako nížee2e@compaqlaptop:~$ telnet xx.xx.xx.xx 80
Pokus o xx.xx.xx.xx…
Připojeno k xx.xx.xx.xx.
Únikový znak je „^]“.
Můžete také ověřit, zda se váš aplikační/webový server dokáže připojit k vašemu databázovému portu na back-endu. MySQL server ve výchozím nastavení běží na portu 3306
telnet your_database_server_ip 3306
Pokud vaše webové porty nebo databázové porty nejsou dostupné, měli byste se podívat na konfiguraci brány firewall. Možná budete muset otevřít port 80, port 443 nebo port 3306.
Krok 9 :Ověření nastavení DNS
Také se musíte ujistit, že vaše doména je správně nasměrována na IP serveru. Pokud na stránku můžete přistupovat pomocí IP a ne pomocí názvu vaší domény, možná se budete muset podívat na nastavení DNS.
Zda je váš web nasměrován na správnou IP, můžete ověřit pomocí níže uvedeného dig příkaz
dig A example.com +short
Získáte výstup, jak je uvedeno níže
e2e@compaqlaptop:~$ dig A example.com +short
xx.xx.xx.xx
e2e@compaqlaptop:~$
Kromě toho zkontrolujte soubory virtuálního hostitele Apache nebo blokové soubory serveru Nginx, abyste se ujistili, že jsou nakonfigurovány tak, aby odpovídaly na požadavky pro vaši doménu.
Závěr
Doufáme, že výše uvedené tipy pro odstraňování problémů vám pomohou vystopovat a opravit některé běžné problémy, se kterými se správci potýkají, když se pokoušejí zprovoznit své stránky. Pokud se při výše uvedených krocích setkáte s nějakým problémem, neváhejte a proberte v komentářích.