GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak řešit problémy, když váš web nefunguje na linuxovém serveru

Ú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íže

e2e@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.


Ubuntu
  1. Jak řešit problémy, když váš web nefunguje na linuxovém serveru

  2. Jak řešit problémy, když váš web nefunguje na linuxovém serveru

  3. Jak měřit výkon na vašem Linux VPS serveru

  1. Jak monitorovat váš Linux server?

  2. Jak nainstalovat desktopové prostředí na váš Headless Linux Server

  3. Jak používat OpenSSH k připojení k vašemu linuxovému serveru

  1. Jak nainstalovat SQL Server na Linux

  2. Jak monitorovat váš Linux Server pomocí osquery

  3. Jak nainstalovat Nextcloud s Dockerem na váš Linux Server