Nginx Server Blocks vám umožňuje provozovat více než jednu webovou stránku na jednom počítači. Pomocí Server Blocks můžete určit kořen dokumentu webu (adresář, který obsahuje soubory webu), vytvořit samostatnou bezpečnostní politiku pro každý web, použít různé certifikáty SSL pro každý web a mnoho dalšího.
V tomto tutoriálu vám ukážeme, jak nastavit bloky serveru Nginx na Debianu 9.
Předpoklady #
Než budete pokračovat v tomto kurzu, ujistěte se, že jste splnili následující předpoklady:
- Název domény odkazující na IP vašeho veřejného serveru. Použijeme
example.com
. - Nginx nainstalován.
- Jste přihlášeni jako uživatel root nebo uživatel s právy sudo.
Server Blocks
je označován jako Virtual host
.Virtuální hostitel je termín Apache. Vytvořit adresářovou strukturu #
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řenem dokumentu může být jakýkoli adresář na vašem serveru Debian.
Použijeme následující adresářovou strukturu:
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
├── domain3.com
│ └── public_html
Vytvoříme samostatný adresář pro každou doménu, která bude hostována na serveru uvnitř /var/www
adresář. V každém z těchto adresářů vytvoříme public_html
adresář, ve kterém budou uloženy soubory webových stránek domény.
Začněte vytvořením kořenového adresáře pro doménu example.com
:
sudo mkdir -p /var/www/example.com/public_html
Dále vytvořte index.html
soubor v kořenovém adresáři dokumentů domény.
sudo nano /var/www/example.com/public_html/index.html
Otevřete soubor a vložte následující řádky:
/var/www/example.com/public_html/index.html<!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>
Chcete-li se vyhnout problémům s oprávněním, změňte vlastnictví kořenového adresáře dokumentu domény na uživatele Nginx (www-data
):
sudo chown -R www-data: /var/www/example.com
Vytvořit blok serveru #
Ve výchozím nastavení na systémech Debian jsou konfigurační soubory bloků serveru Nginx uloženy v /etc/nginx/sites-available
adresář, které jsou povoleny prostřednictvím symbolických odkazů na /etc/nginx/sites-enabled/
adresář.
Otevřete editor podle vašeho výběru a vytvořte následující soubor bloku serveru:
sudo nano /etc/nginx/sites-available/example.com.conf
/etc/nginx/sites-available/example.com.confserver {
listen 80;
listen [::]:80;
root /var/www/example.com/public_html;
index index.html;
server_name example.com www.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
Konfigurační soubor můžete pojmenovat, jak chcete, ale obvykle je nejlepší použít název domény.
Povolte nový soubor blokování serveru vytvořením symbolického odkazu ze souboru na sites-enabled
adresář:
sudo ln -s /etc/nginx/sites-available/example.com.conf /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: