Co je Nginx?
Nginx (vyslovuje se ‚engine X‘) je alternativou k Apache a je považován za jeden z nejpopulárnějších webových serverů HTTP na světě. Na rozdíl od Apache má Nginx tendenci spotřebovávat méně zdrojů a zlepšuje odezvu serveru. Díky designu řízenému událostmi je šetrný ke zdrojům.
Především umožňuje administrátorům nastavit pokročilé konfigurace a dokáže si poradit s vysokou zátěží souběžných připojení. Kromě toho, že se Nginx dobře hodí pro webový server HTTP, funguje také jako reverzní proxy, nástroj pro vyrovnávání zatížení a standardní poštovní server.
V tomto článku se dozvíte, jak nainstalovat a nakonfigurovat Nginx na CentOS 7 .
Předpoklady
- CentOS samostatně spravovaný server nebo virtuální počítač
- Doména. Budete muset připojit doménu k vašemu webovému serveru Nginx
- Sudo nebo root oprávnění [[e-mail chráněno] ~]
- SELinux je správně nastaven
Jak nainstalovat Nginx na CentOS 7
Obecně je CentOS preferovaným distribučním balíčkem v hostingovém průmyslu. V současnosti je nejnovější verzí CentOS 8, zatímco CentOS 7 je podporován do roku 2024.
Níže uvedený konfigurační postup podrobně popisuje kroky potřebné k nastavení Nginx na CentOS 7.
Pokyny k instalaci pro CentOS 8 najdete v části Jak nainstalovat Nginx na CentOS 8.
Krok 1:Aktualizujte seznamy balíčků úložiště
Chcete-li tak učinit, spusťte následující příkaz:
sudo yum -y update
-y
je volitelný parametr. Slouží k tomu, aby se předešlo potvrzovacím otázkám. Budeme to hodně používat, jak si všimnete. Pokud tento parametr nepoužijete, budete vyzváni k potvrzení vašich příkazů.
Krok 2:Nainstalujte další balíčky pro Enterprise Linux (EPEL)
Nginx není k dispozici ve standardních úložištích dodávaných s balíčkem CentOS, takže budete muset nainstalovat úložiště EPEL na váš server. EPEL je zdarma k použití a poskytuje řadu open source balíčků k instalaci s Yum.
Chcete-li nainstalovat EPEL, spusťte následující příkaz pomocí správce balíčků Yum:
sudo yum install -y epel-release
Krok 3:Nainstalujte Nginx
Krok číslo dva přidal úložiště Nginx na váš server. Nyní můžete nainstalovat Nginx spuštěním následujícího příkazu yum:
sudo yum –y install nginx
Krok 4:Spusťte službu Nginx
Vaše instance Nginx je nainstalována, ale nespustí se automaticky.
Chcete-li spustit Nginx, spusťte:
sudo systemctl start nginx
Poté, co stisknete Enter, nedostanete vrácenou hodnotu. Nginx však měl začít. Chcete-li zkontrolovat jeho stav, spusťte:
sudo systemctl status nginx
Měl by tam být zelený text s nápisem „aktivní (běh). Pokud jej nemůžete najít, vaše instance Nginx se možná nespustila úspěšně.
Krok 5:Nakonfigurujte Nginx pro spuštění při spuštění
Většina správců se bude chtít ujistit, že se NGINX spustí automaticky při každém restartu serveru. Chcete-li to nastavit, spusťte:
sudo systemctl enable nginx
Krok 6:Nakonfigurujte bránu firewall tak, aby umožňovala provoz
CentOS 7 ve výchozím nastavení povoluje brány firewall a blokuje přístup k portům 80 a 443. Zablokuje všechny příchozí pakety HTTPS a HTTP z Nginx.
Chcete-li povolit provoz HTTP a HTTPS, spusťte následující příkazy:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
Po každém příkazu byste měli vidět success
což znamená, že příkaz byl proveden správně.
Krok 7:Ověřte instalaci Nginx
Nejjednodušší způsob, jak zkontrolovat, zda Nginx běží správně, je navštívit veřejnou IP adresu vašeho serveru. Stačí otevřít webový prohlížeč a navštívit http://server_IP_or_domain_name /
Nejprve najděte veřejnou IP adresu svého serveru.
ip a
Naše IP adresa je 192.168.122.1/24 . Zkopírujte svou IP adresu a vložte ji do prohlížeče. To by mělo načíst Vítejte v Nginx stránku.
Jak vyřešit chybu „test se nezdařil“
Pokud obdržíte „test se nezdařil“ chybová zpráva pro soubor nginx.conf, možná máte problém s IP adresou.
Služba Nginx ve výchozím nastavení naslouchá IPv4 a IPv6. Váš test selže, pokud váš server nepodporuje IPv6. To však lze opravit úpravou hlavního konfiguračního souboru.
Otevřete hlavní konfigurační soubor /etc/nginx/nginx.conf . Najděte a zakomentujte následující řádek:
listen [::]:80 default_server;
Stačí přidat „#“ na začátek řádku. Mělo by to vypadat takto:
# listen [::]:80 default_server;
Uložte provedené změny a znovu načtěte službu Nginx.
sudo systemctl reload nginx
V prohlížeči vyhledejte IP adresu svého serveru. Měli byste vidět výchozí testovací stránku Nginx.
Konfigurační soubory a kořen Nginx
Určitě budete potřebovat znát umístění konfiguračních souborů Nginx a výchozí kořenový adresář serveru Nginx.
Další bloky serveru
Na Apache správci používají virtuální hostitele ke spouštění více webů. S Nginx je provozování několika webových stránek na jednom serveru dosaženo pomocí serverových bloků.
Další bloky serveru jsou přidány vytvořením nových konfiguračních souborů s příponou .conf. Umístěte tyto soubory do /etc/nginx/conf.d a budou načteny při každém spuštění Nginx.
Výchozí kořenový adresář serveru Nginx
Výchozí kořenový adresář serveru Nginx je /usr/share/nginx . Toto je uvedeno ve výchozím konfiguračním souboru bloku serveru, který se nachází na adrese /etc/nginx/conf.d/default.conf .
Výchozí kořenový adresář dokumentů serveru, který obsahuje webové soubory, je usr/share/nginx/html .
Globální konfigurace
Globální konfigurace lze vyladit úpravou hlavního konfiguračního souboru Nginx umístěného na adrese /etc/nginx/nginx.conf . Tento konfigurační soubor je rozdělen do kontextů. Ve výchozím nastavení můžete identifikovat tři (3) kontexty.
- Události jsou globální nastavení, která definují, jak Nginx obecně zpracovává připojení.
- HTTP definuje, jak server zpracovává připojení HTTP a HTTPS.
- Server je definován v kontextu HTTP. Specifikuje porty serveru, kořen dokumentu atd.
Vždy můžete přidat další kontexty.
Správa Nginx – běžné úkoly
Zastavit Nginx
Chcete-li zastavit server Nginx, spusťte:
sudo systemctl stop nginx
Restartujte Nginx
Chcete-li restartovat službu Nginx, spusťte:
sudo systemctl restart nginx
Znovu načtěte Nginx
Pokud jste provedli nějaké úpravy v hlavních konfiguračních změnách Nginx. Chcete-li rozšířit změny, musíte znovu načíst server.
sudo systemctl reload nginx
Zakažte automatické spouštění při spouštění
Pokud nechcete, aby se Nginx automaticky spouštěl při spouštění, spusťte:
sudo systemctl disable nginx
Konfigurace nového adresáře
Pokud hostujete více webových stránek, dobrým pravidlem je dodržovat standardní konvence pojmenování. Použijme standardní pojmenování cPanel a vytvořte adresář.
sudo mkdir -p /var/www/yourdomain.com/public_html
Další věc, kterou potřebujete, je indexová stránka. To vám pomůže otestovat konfiguraci.
sudo nano /var/www/yourdomain.com/public_html/index.html
Pro účely testování zadejte do index.html jeden řádek textu. Uložte a zavřete soubor.
Změňte oprávnění k souborům Linux, aby bylo možné přistupovat k datům online.
sudo chmod 755 /var/www/yourdomain.com/public_html
Zkuste otevřít stránku index.html. Měl by být dostupný online.