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 CentOS 8.
Předpoklady #
Než budete pokračovat v tomto kurzu, 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 CentOS.
- Jste přihlášeni jako uživatel root nebo uživatel s právy sudo.
V některé dokumentaci termín Server Blocks
se označuje jako Virtual host
.Virtuální hostitel je termín Apache.
Vytvoření adresářové struktury #
Kořen dokumentu je adresář, ve kterém jsou uloženy soubory webových stránek pro název domény a obsluhovány v reakci na požadavky. Kořen dokumentu lze nastavit na libovolné umístění.
Použijeme následující adresářovou strukturu:
/var/www/
├── example.com
│ └── public_html
├── example2.com
│ └── public_html
├── example3.com
│ └── public_html
Pro každou doménu, která bude hostována na serveru, vytvoříme samostatný adresář v /var/www
. V adresáři domény vytvoříme public_html
adresář, který bude kořenovým adresářem dokumentů domény a bude ukládat soubory webových stránek domény.
Začněme vytvořením kořenového adresáře pro doménu example.com
:
sudo mkdir -p /var/www/example.com/public_html
Pro účely testování vytvořte index.html
soubor v kořenovém adresáři dokumentů domény:
sudo nano /var/www/example.com/public_html/index.html
Zkopírujte a vložte následující kód do souboru:
/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ími, změňte vlastnictví kořenového adresáře dokumentu domény na uživatele nginx
:
sudo chown -R nginx: /var/www/example.com
Vytvoření bloku serveru #
Ve výchozím nastavení na CentOS musí konfigurační soubory bloku serveru Nginx končit .conf
a jsou uloženy v /etc/nginx/conf.d
adresář.
Otevřete textový editor a vytvořte konfigurační soubor pro doménu:
sudo nano /etc/nginx/conf.d/example.com.conf
Konfigurační soubor lze pojmenovat jakkoli chcete, ale obvykle je nejlepší použít název domény.
Zkopírujte a vložte následující kód do souboru:
/etc/nginx/conf.d/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;
}
}
Uložte soubor a zkontrolujte, zda konfigurace Nginx neobsahuje chyby syntaxe:
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, zda 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: