• Digitální příslušenství
  • Server
  • Digitální život
  • Zásady ochrany osobních údajů
  • Kontaktujte nás
  1. Domov
  2. Článek
  3. Jak nastavit virtuální hostitele založené na názvech a IP (Server...

Jak nastavit virtuální hostitele založené na názvech a IP (Server...

Rsdaa 10/12/2021 1679

Za relativně krátkou dobu od svého vývoje a zpřístupnění (něco málo přes 10 let) zažívá Nginx mezi webovými servery trvalý a stabilní růst díky svému vysokému výkonu. a nízké využití paměti.

Virtuální hosting Nginx založený na názvech a IP

Protože je Nginx bezplatný software s otevřeným zdrojovým kódem, přijaly ho tisíce správců webových serverů po celém světě, a to nejen na serverech Linux a *nix, ale také v systému Microsoft Windows. .

Nenechte si ujít: Virtuální hosting založený na názvech Apache a IP

Pro ty z nás, kteří jsou nejvíce zvyklí na Apache, může mít Nginx poněkud strmou křivku učení (alespoň to byl můj případ), ale určitě se to vyplatí, jakmile nastavíte několik webů a začnete vidět statistiky provozu a využití zdrojů .

V tomto článku vysvětlíme, jak použít Nginx k nastavení virtuálního hostingu založeného na jménech a IP na serverech CentOS/RHEL 7 a Debian 8 a derivátech, počínaje Ubuntu 15.04 a jeho vedlejšími produkty.

Náš testovací scénář pro tento článek je následující:Operační systém: Debian 8 Jessie server [IP 192.168.0.25]Brána: Router [IP 192.168.0.1]Webový server: Nginx 1.6.2-5Dummy Domains: www.tecmintlovesnginx.com a www .nginxmeanspower.com.

Instalace webového serveru Nginx

Pokud jste tak ještě neučinili, nainstalujte si prosím Nginx, než budete pokračovat. Pokud potřebujete pomoc, abyste mohli začít, rychlé vyhledávání nginx na tomto webu vrátí několik článků na toto téma. Klikněte na ikonu lupy v horní části této stránky a vyhledejte klíčové slovo nginx. Pokud nevíte, jak hledat články na tomto webu, nebojte se, přidali jsme odkazy na články nginx, stačí si je projít a nainstalovat podle svých příslušných distribucí Linuxu.

Nainstalujte a zkompilujte Nginx ze zdrojů v RHEL/CentOS 7Nainstalujte webový server Nginx na Debian 8Nainstalujte Nginx s MariaDB a PHP/PHP-FPM na Fedora 23Nainstalujte webový server Nginx na Ubuntu 15.10 Server/DesktopPassword Chraňte Nginx Webové adresáře připravené na pokračování

se zbytkem tohoto tutoriálu.

Vytváření virtuálních hostitelů založených na názvech v Nginx

Jak už jistě víte, virtuální hostitel je web, který Nginx obsluhuje na jediném cloudovém VPS nebo fyzickém serveru. V dokumentech Nginx však místo toho najdete výraz „bloky serveru“, ale v zásadě se jedná o totéž nazývané různými názvy.

Prvním krokem k nastavení virtuálních hostitelů je vytvoření jednoho nebo více serverových bloků (v našem případě vytvoříme dva, jeden pro každou fiktivní doménu) v hlavním konfiguračním souboru (/etc/nginx/nginx.conf) nebo uvnitř /etc/nginx/sites-available.

Přestože název konfiguračních souborů v tomto adresáři (sites-available) lze nastavit na cokoliv chcete, je dobré používat názvy domén a navíc jsme se rozhodli přidat příponu .conf označte, že se jedná o konfigurační soubory.

Tyto bloky serveru mohou být poměrně složité, ale ve své základní podobě se skládají z následujícího obsahu:

V /etc/nginx/sites-available/tecmintlovesnginx.com.conf:

server {poslouchat 80;název_serverutecmintlovesnginx.com www.tecmintlovesnginx.com;access_log/var/www/logs/tecmintlovesnginx.access.log;error_log/var/www/logs/tecmintlovesnginx.error.log error; root /var/www/tecmintlovesnginx.com/public_html;indexindex.html index.htm;}

V /etc/nginx/sites-available/nginxmeanspower.com.conf:

server {poslouchejte 80;server_namenginxmeanspower.com www.nginxmeanspower.com;access_log/var/www/logs/nginxmeanspower.access.log;error_log/var/www/logs/nginxmeanspower.error.log error;root /var/www/nginxmeanspower .com/public_html;indexindex.html index.htm;}

Výše uvedené bloky můžete použít k zahájení nastavení svých virtuálních hostitelů, nebo můžete vytvořit soubory se základní kostrou z /etc/nginx/sites-available/ default (Debian) nebo /etc/nginx/nginx.conf.default (CentOS).

Po zkopírování změňte jejich oprávnění a vlastnictví:

# chmod 660/etc/nginx/sites-available/tecmintlovesnginx.com.conf# chmod 660/etc/nginx/sites-available/nginxmeanspower.com.confDebian and Derivatives# chgrp www-data/etc/nginable/sites-ava tecmintlovesnginx.com.conf# chgrp www-data/etc/nginx/sites-available/nginxmeanspower.com.confCentOS a RHEL# chgrp nginx/etc/nginx/sites-available/tecmintlovesnginx.com.conf# ngxetc /sites-available/nginxmeanspower.com.conf

Až budete hotovi, měli byste smazat ukázkový soubor nebo jej přejmenovat na něco jiného, ​​abyste předešli zmatkům nebo konfliktům.

Upozorňujeme, že budete také muset vytvořit adresář pro protokoly (/var/www/logs) a dát uživateli Nginx (nginx nebo www-data, v závislosti na tom, zda používáte CentOS nebo Debian) číst a zapisovat oprávnění k němu:

# mkdir /var/www/logs# chmod -R 660 /var/www/logs# chgrp/var/www/logs

Virtuální hostitelé musí být nyní povoleni vytvořením symbolického odkazu na tento soubor v adresáři s povolenými weby :

# ln -s /etc/nginx/sites-available/tecmintlovesnginx.com.conf /etc/nginx/sites-enabled/tecmintlovesnginx.com.conf# ln -s /etc/nginx/sites-available/nginxmeanspower.com.conf /etc/nginx/sites-enabled/nginxmeanspower.com.conf

Dále vytvořte ukázkový html soubor s názvem index.html uvnitř /var/www//public_html pro každého z virtuálních hostitelů (podle potřeby nahraďte). Podle potřeby upravte následující kód:

Tecmint miluje Nginx

Tecmint miluje Nginx!

Nakonec otestujte konfiguraci Nginx a spusťte webový server. Pokud jsou v konfiguraci nějaké chyby, budete vyzváni k jejich opravě:

# nginx -t && systemctl spusťte nginxCheck Nginx Configuration

a přidejte následující položky do svého souboru /etc/hosts na vašem místním počítači jako základní strategii rozlišení názvů:

192.168.0.25 tecmintlovesnginx.com192.168.0.25 nginxmeanspower.com

Poté spusťte webový prohlížeč a přejděte na výše uvedené adresy URL:

Zkontrolujte virtuální hostitele založené na názvu Nginx

Chcete-li přidat další virtuální hostitele do Nginx, opakujte výše uvedené kroky tolikrát, kolikrát je potřeba.

​Virtuální hostitelé na bázi IP v Nginx

Na rozdíl od virtuálních hostitelů založených na názvech, kde jsou všichni hostitelé přístupní přes stejnou IP adresu, virtuální hostitelé na bázi IP vyžadují každý jinou kombinaci IP:port .

To umožňuje webovému serveru vracet různé stránky v závislosti na adrese IP a portu, na kterém je požadavek přijat. Vzhledem k tomu, že pojmenovaní virtuální hostitelé nám dávají výhodu sdílení IP adresy a portu, jsou standardem pro univerzální webové servery a měli by být volbou nastavení, pokud vaše nainstalovaná verze Nginx nepodporuje Server Name Indication (SNI). , buď proto, že je to OPRAVDU zastaralá verze, nebo proto, že byla zkompilována bez možnosti kompilace –with-http_ssl_module.

Pokud,

# nginx -V

nevrací níže zvýrazněné možnosti:

Zkontrolujte verzi a moduly Nginx

budete muset aktualizovat svou verzi Nginx nebo ji překompilovat, v závislosti na původní metodě instalace. Pro kompilaci Nginx postupujte podle níže uvedeného článku:

Nainstalujte a zkompilujte Nginx ze zdrojů v RHEL/CentOS 7

Za předpokladu, že jsme připraveni, musíme poznamenat, že dalším předpokladem pro virtuální hostitele založené na IP je dostupnost samostatných IP – buď jejich přiřazením k odlišným síťovým rozhraním. nebo pomocí virtuálních IP adres (známých také jako IP aliasing).

Chcete-li provést alias IP v Debianu (za předpokladu, že používáte eth0), upravte /etc/network/interfaces následovně:

Debian a Derivativesauto eth0:1iface eth0:1 inet statická adresa 192.168.0.25síťová maska ​​255.255.255.0síť 192.168.0.0vysílání 192.168.0.255brána 192.168.0.255brána 1902.1 adresa 192.168.0.26síťová maska ​​255.255.255.0síť 192.168.0.0 broadcast 192.168.0.255gateway 192.168.0.1

Ve výše uvedeném příkladu vytvoříme dvě virtuální síťové karty z eth0: eth0:1 (192.168.0.25) a eth0:2 (192.168.0.26).

CentOS a RHEL

V CentOS přejmenujte /etc/sysconfig/network-scripts/ifcfg-enp0s3 na ifcfg-enp0s3:1 a vytvořte kopii jako ifcfg-enp0s3:2 a poté změňte následující řádky:

DEVICE="enp0s3:1"IPADDR=192.168.0.25

a

DEVICE="enp0s3:2"IPADDR=192.168.0.26

Po dokončení restartujte síťovou službu:

# systemctl restart networking

Dále proveďte následující změny v blocích serveru dříve definovaných v tomto článku:

V /etc/nginx/sites-available/tecmintlovesnginx.com.conf:

poslouchat 192.168.0.25:80

V /etc/nginx/sites-available/nginxmeanspower.com.conf:

poslouchejte 192.168.0.26:80

Nakonec restartujte Nginx, aby se změny projevily.

# systemctl restartujte nginx

a nezapomeňte odpovídajícím způsobem aktualizovat místní /etc/hosts:

192.168.0.25 tecmintlovesnginx.com192.168.0.26 nginxmeanspower.com

Každý požadavek zadaný na 192.168.0.25 a 192.168.0.26 na portu 80 vrátí tecmintlovesng.com a tecmintlovesng.

Zkontrolujte virtuálního hostitele založeného na IP Nginx

Jak můžete vidět na obrázcích výše, nyní máte dva virtuální hostitele založené na IP používající jedinou síťovou kartu na vašem serveru se dvěma různými IP aliasy.

​ Shrnutí

V tomto tutoriálu jsme vysvětlili, jak nastavit virtuální hostitele založené na názvech i na IP v Nginx. I když pravděpodobně budete chtít použít první možnost, je důležité vědět, že druhá možnost je stále k dispozici, pokud ji potřebujete – jen se ujistěte, že jste toto rozhodnutí učinili po zvážení faktů uvedených v této příručce.

Dodatečně si možná budete chtít uložit do záložek dokumenty Nginx, protože je vhodné a dobré na ně často odkazovat při vytváření bloků serveru (tady to máte – teď mluvíme v jazyce Nginx) a jejich konfiguraci. Nebudete věřit všem možnostem, které jsou k dispozici pro konfiguraci a vyladění tohoto vynikajícího webového serveru.

Jako vždy, pokud máte nějaké dotazy nebo připomínky k tomuto článku, neváhejte a napište nám pomocí formuláře níže. Těšíme se na vaši odpověď a vaše názory na tuto příručku jsou velmi vítány.


PREV: Cross Server Party

NEXT: Jaký je/byl váš oblíbený souboj se šéfem soukromého serveru?

Populární články

Žhavé články
Zpět na začátek