GNU/Linux >> Znalost Linux >  >> Linux

Běžné problémy se serverem a jejich řešení

Jedním z nejběžnějších použití serveru online je hostování webových stránek. Umožňuje to software, který mimo jiné obsluhuje obsah http. V tomto příspěvku vysvětlím některé triky k detekci a opravě problémů v systémech webových služeb GNU/Linux. Pro jednoduchost se zaměříme na nejčastěji používaný Apache.

Obvykle první zprávou, kterou máme, když nastanou problémy na webovém serveru, je, že prohlížeče nejsou schopny zobrazit obsah. Před vstupem na server je třeba zkontrolovat, zda je problém DNS a protože název domény se nepřekládá na IP našeho webového serveru. To lze vidět pomocí aplikací jako ping, host, nslookup dig atd. v závislosti na tom, které máme po ruce.
Pokud jsme si jisti, že doména DNS funguje a ukazuje na webovou službu ip, jako správci přístup k tomuto a pokusit se zjistit a vyřešit jakýkoli problém.

Před zadáním hadru si jako první informaci řekneme, že protokol http funguje na portu 80 našeho serveru. To je důležitý fakt, protože s vědomím, že můžeme snadno získat data o procesech, na kterých běží.
Jakmile jsme uvnitř, první věcí, kterou uděláme, je použít příkaz „netstat“, který zobrazí seznam portů a připojení navázaných na našem server:

Jak je znázorněno, použití spolu s příkazem „grep“ pro filtrování podle „LISTEN“ a „80“ nám ukazuje, zda existuje proces naslouchající na portu 80 a používá službu „httpd“. Pokud byste odstranili „| grep LISTEN” také zobrazíme připojení, která jsou na daném portu stále aktivní, mezi nimi můžeme najít navázaná spojení, čekající na vyřízení nebo uzavřená.

Kromě toho máme také příkaz s názvem „lsof“, který nám může zobrazit ještě více informací o uživatelích a počtu běžících procesů. Tento příkaz zobrazuje informace o otevřených souborech v systému Linux Linux, protože vše funguje přes soubory je pro nás velmi užitečné. V tomto případě musíme říci, že vypadají otevřené soubory související s portem 80 a provedeme to zadáním „-i 80“ v systému jako administrátor:

Toto je běžný výstup serveru, kde nikdo nesleduje hostované stránky. Zde můžeme vidět, jak je uživatel spouštějící proces „apache“, že existují procesy s otcem a 6 dětmi, které čekají na požadavky, které přijdou o obsluhu obsahu. Pokud někdo vyhledá stránku, kde se vyskytuje více, nyní se zobrazí „POSLECHNOUT“, což mimo jiné uvádí zdroj připojení.

Pokud na našem serveru nevidíme žádné procesy spuštěné na portu 80 s některým z výše uvedených příkazů, znamená to, že webová služba nefunguje tak, jak by měla, a proto ji budeme muset spustit znovu. To záleží na tom, kterou linuxovou distribuci budeme používat s použitím názvu nebo jiné distribuce založené na Redhat a Centos jsou vyrobeny s „httpd“ a ty založené na Debianu jako Ubuntu s „apache2“

V našem případě používáme httpd, protože se jedná o Centos, a protože webový server je nabootován správně, tak bychom nyní jen zkontrolovali, zda jsou spuštěny procesy a pokusili se znovu zobrazit stránky v prohlížeči.

V případě unbootable nám může zobrazit chybovou zprávu, která by byla podrobně analyzována, aby se přesně určilo, co se stane, protože existuje mnoho možností. Měli bychom se také podívat do protokolu chyb, abychom zjistili, zda jste nezanechali nějakou indikační zprávu. To lze provést pomocí příkazu cat nebo tail nebo jakéhokoli textového editoru konzoly, jako je vim nebo nano nebo emacs.

Velmi užitečnou aplikací výše uvedeného je „ocas“, protože „-f“ za ním nám umožňuje vidět protokoly v reálném čase, například:

tail -f /var/log/httpd/error_log

Pokud jej necháme spuštěný na konzole a druhý se pokusí spustit službu nebo přistupovat k prohlížeči, můžeme vidět chyby v reálném čase, což bude velmi užitečné.
Někdy se zdá, že webový server je spuštěn a funguje normálně s jeho procesy naslouchat, ale přesto webové stránky nefungují správně a nezobrazují žádný obsah v prohlížeči.
V těchto případech je prioritou vidět, co se stane, jak je uvedeno výše, podívat se do protokolu chyb, který se normálně zobrazuje podrobné informace o problémech, které brání provozu. Po zobrazení chyby, pokud nevíme, že ano, je normální použít vyhledávač jako Google pro informace o této chybě a nějaký způsob, jak ji opravit. Pokud se stále nezobrazuje žádná zpráva, je třeba zastavit všechny instance webového serveru a spustit jej v režimu ladění:

httpd -e DEBUG

S tímto, pokud bychom měli být schopni vidět jakoukoli vnitřní chybu, která pomůže při jejím řešení. V každém případě, pokud se vám ani po provedení všech těchto kroků nepodaří zprovoznit váš webový server, doporučujeme vám svěřit se do rukou profesionálů, kteří dokážou problém rychle a efektivně vyřešit.
Na závěr uvedeme seznam těch nejčastějších chyby, že si můžeme najít čas na to, abychom zrušili vyřazenou webovou službu, a některé nápady, jak je opravit. Chyby, které se mohou objevit v protokolu, když je problémem konfigurace webu nebo kód, který necháme pro jiný zadní vchod.

1. “make_sock:could not bind to address 0.0.0.0:80 no listening socket available”
Pokud se tato chyba objeví při spouštění, webová služba pravděpodobně již funguje, protože něco naslouchá na portu 80. Pokud máme problémy, zkuste to nejprve zastavit pomocí „zastavení služby httpd/apache2“, ale stále datování stejná chyba by měla zabít proces, který zabírá port 80, uvedením výše popsaného čísla pid pomocí příkazu lsof nebo netstat a pomocí příkazu „kill - s 9“ příkaz pid „k vynucení zastavení.

2. “Žádný takový soubor nebo adresář:apache2:Nelze otevřít soubor protokolu chyb /var/log/apache2/error.log”
S touto chybou webový server indikuje, že start nemohl zapsat do protokolu, který je přiřazen v jeho konfigurace, buď protože složka neexistuje, protože nemůže vytvořit soubor, nebo protože soubor existuje, ale povolení/uživatelé nejsou správná. Abychom to vyřešili, musíme analyzovat všechny tyto faktory a umožnit uživateli webového serveru zapisovat do tohoto souboru a znovu spustit proces.

3. “Spouštění httpd:Chyba syntaxe na řádku xxx souboru /etc/httpd/conf/httpd.conf:DocumentRoot musí být adresář”
Někdy nás tato chyba přesměruje na webovou službu přesné konfigurace bodu. V takovém případě zkontrolujeme příslušný konfigurační soubor a analyzujeme, že může selhat přesně na uvedeném řádku. V tomto případě „DocumentRoot“, což je kořenový adresář webového serveru, tímto nebyl přístupný, což je podobné řešení podle bodu 2.


Linux
  1. Stav systému a serveru

  2. Seznam běžných chyb (a řešení) při instalaci a konfiguraci služby OpenStack Nova

  3. Seznam nejčastějších chyb (a řešení) při instalaci OpenStack Image Service GLANCE

  1. Základy Vhosts a serverových bloků

  2. Co je to 500 interní chyba serveru

  3. Odstraňování běžných problémů s NFS v Linuxu

  1. Linuxové scénáře v reálném čase a problémy s jejich řešeními

  2. Odstraňte problémy se sítí Windows Server

  3. Problémy s používáním sort a comm