Blok serveru je direktiva Nginx, která definuje nastavení pro konkrétní doménu, což vám umožňuje provozovat více než jednu webovou stránku na jednom serveru. Pro každý web můžete nastavit kořen dokumentu webu (adresář, který obsahuje soubory webu), vytvořit samostatnou bezpečnostní politiku, používat různé certifikáty SSL a mnoho dalšího.
Tento článek popisuje, jak nastavit bloky serveru Nginx na Ubuntu 20.04.
Předpoklady #
Než budete pokračovat, ujistěte se, že jste splnili následující požadavky:
- Název domény odkazující na IP vašeho veřejného serveru.
- Nginx nainstalovaný ve vašem systému Ubuntu.
- Jste přihlášeni jako uživatel root nebo uživatel s právy sudo.
V některých článcích je termín „bloky serveru“ označován jako „virtuální hostitel“. Virtuální hostitel je termín Apache.
Vytvoření adresářové struktury #
Kořen dokumentu je adresář, kde jsou uloženy soubory webových stránek pro název domény a obsluhovány v reakci na požadavky. Kořen dokumentu můžete nastavit na libovolné umístění. V tomto příkladu použijeme následující adresářovou strukturu:
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
Každá doména hostovaná na serveru bude mít kořen dokumentu nastaven na /var/www/<domain_name>/public_html
.
Začněte vytvořením kořenového adresáře pro doménu:
sudo mkdir -p /var/www/domain1.com/public_html
Vytvoříme také index.html
soubor v kořenovém adresáři dokumentu domény, který se zobrazí při návštěvě domény ve vašem prohlížeči:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html>
Vzhledem k tomu, že výše uvedené příkazy jsou prováděny jako uživatel sudo, nově vytvořené soubory a adresáře jsou vlastněny uživatelem root. Chcete-li se vyhnout problémům s oprávněními, změňte vlastnictví kořenového adresáře dokumentu domény a všech souborů v adresáři na uživatele Nginx (www-data
):
sudo chown -R www-data: /var/www/domain1.com
Vytvoření bloku serveru #
Na systémech Ubuntu jsou konfigurační soubory bloků serveru Nginx umístěny v /etc/nginx/sites-available
adresář. Lze je povolit vytvořením symbolických odkazů na /etc/nginx/sites-enabled
adresář, který Nginx načetl během spouštění.
Otevřete textový editor a vytvořte následující soubor bloku serveru:
/etc/nginx/sites-available/example.comserver {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public_html;
index index.html;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
}
server_name
:Domény, které by měly odpovídat této konfiguraci blokování serveru.root
:Adresář, ze kterého bude Nginx obsluhovat soubory domény.access_log
,error_log
:Určuje umístění souborů protokolu.
Konfigurační soubor lze pojmenovat jakkoli chcete, ale obvykle je nejlepší použít název domény.
Chcete-li povolit nový soubor blokování serveru, vytvořte ze souboru symbolický odkaz na sites-enabled
adresář, který Nginx načetl při spuštění:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Otestujte konfiguraci Nginx pro správnou syntaxi:
sudo nginx -t
Pokud nejsou žádné chyby, výstup bude vypadat takto:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Restartujte službu Nginx, aby se změny projevily:
sudo systemctl restart nginx
Nakonec, abyste ověřili, že blok serveru funguje podle očekávání, otevřete http://example.com
ve vašem zvoleném prohlížeči a uvidíte něco takového: