Tento článek ukazuje, jak vytvořit virtuální hostitele NGINX®, kteří obsluhují více webových domén.
Vytvořte rozvržení pro každou doménu
Tento příklad vytvoří dvě domény, domain1.com
a domain2.com
.
Protože výchozí oprávnění umožňují pouze vám, demo
Chcete-li procházet svou domovskou složku, musíte také udělit NGINX přístup k této složce spuštěním následujícího příkazu:
chmod 755 /home/demo
Nyní můžete vytvořit základní rozložení pro každou doménu. Ve vašem home
adresář, vytvořte public_html
složku spuštěním následujícího příkazu:
mkdir /home/demo/public_html
Pro každou doménu, kterou chcete hostovat, vytvořte složku se standardní sadou podsložek, jak je znázorněno v následujících příkladech:
mkdir -p /home/demo/public_html/domain1.com/{public,private,,backup}
mkdir -p /home/demo/public_html/domain2.com/{public,private,log,backup}
Tyto příkazy vytvoří složky public
, private
, log
a backup
pro každou z vašich domén.log
Přidat veřejný obsah pro web na adrese domain1.com
Tento příklad vytvoří ve veřejné složce velmi jednoduchý soubor HTML, který vám umožní rychle zkontrolovat, zda virtuální hostitel funguje.
Spuštěním následujícího příkazu přidejte obsah pro domain1.com
:
nano /home/demo/public_html/domain1.com/public/index.html
Do souboru zadejte kód, který je podobný následujícímu příkladu:
<html>
<head>
<title>domain1.com</title>
</head>
<body>
<h1>domain1.com</h1>
</body>
</html>
Opakujte proces, abyste měli podobný soubor indexu HTML pro domain2.com
.
Poznámka :Ujistěte se, že jste změnili obsah souboru index.html soubor toshow domain2.com
a ne domain1.com
.
Rozvržení virtuálních hostitelů
Tento článek používá rozložení ve stylu CentOS® (které používá conf.d
adresář pro uložení vašich konfiguračních souborů) při vytváření virtuálních hostitelů. Toto rozložení můžete mít také, pokud jste nainstalovali NGINX pomocí správce balíčků nebo ze zdroje.
Přidejte své virtuální hostitele do virtuálního souboru
Upravte virtuální soubor a přidejte domain1.com
spuštěním následujícího příkazu:
sudo nano /etc/nginx/conf.d/virtual.conf
Poznámka :Ujistěte se, že jste upravili cestu podle vaší instalace.
Pokud instalujete ze zdroje, musíte zadat následující cestu:
sudo nano /usr/local/nginx/conf/conf.d/virtual.conf
Přidejte do souboru následující kód:
server {
listen 80;
server_name www.domain1.com;
rewrite ^/(.*) https://domain1.com/$1 permanent;
}
server {
listen 80;
server_name domain1.com;
access_log /home/demo/public_html/domain1.com/log/access.log;
error_log /home/demo/public_html/domain1.com/log/error.log;
location / {
root /home/demo/public_html/domain1.com/public/;
index index.html;
}
}
První serverový modul v souboru je jednoduché pravidlo přepisu, které přesměrovává návštěvníky na domain1.com
z www.domain1.com
.
Druhý serverový modul má velmi základní informace, včetně server_name
, což je název domény, kterou chcete obsluhovat.
Poté kód definuje umístění protokolu, abyste je mohli snadno najít. Nakonec nastaví kořenový adresář serveru a soubor indexu.
Znovu načíst NGINX
Chcete-li povolit svůj web, znovu načtěte NGINX spuštěním následujícího příkazu:
sudo /etc/init.d/nginx reload
Zobrazit svůj web
Přejděte do své domény vložením následující adresy URL do navigačního panelu webového prohlížeče:
https://www.domena1.com
Měli byste vidět jednoduchou testovací webovou stránku, která zobrazuje informace v index.html soubor.
Zkontrolujte protokoly
V předchozím kroku jste přidali kód do virtual.conf soubor, který konfiguroval umístění protokolů. Spuštěním následujících příkazů zkontrolujte, zda jsou v tomto umístění záznamy nowlogs:
ls /home/demo/public_html/domain1.com/log/
...
access.log error.log
Opakujte pro další domény
Opakujte stejný postup pro dalšího virtuálního hostitele, domain2.com
.