Nastavte bloky serveru Nginx (virtuální hostitelé) na CentOS/RHEL 8
Blok serveru Nginx je ekvivalentem virtuálního hostitele Apache a umožňuje vám hostovat na vašem serveru více než jednu doménu nebo webovou stránku.
V tomto článku se dozvíte, jak nastavit bloky serveru Nginx (virtuální hostitele) v systému CentOS 8 a RHEL 8 Linux.
Předpoklady:
- Záznam
A
pro vaši doménu. Jednoduše řečeno, záznamA
odkazuje na záznam DNS, kde název domény ukazuje na veřejnou IP serveru, v tomto případě na webový server Nginx. V této příručce budeme používat název doménycrazytechgeek.info
. - Server Nginx nebo LEMP Stack nainstalovaný v instanci CentOS 8 nebo RHEL 8.
- Přihlašovací uživatel s právy Sudo.
Začněme!
Krok 1: Vytvořte kořenový adresář dokumentu Nginx
Hned na začátku musíte vytvořit vlastní webový kořenový adresář pro doménu, kterou chcete hostovat. V našem případě vytvoříme adresář, jak je znázorněno, pomocí volby mkdir -p
, abychom vytvořili všechny potřebné nadřazené adresáře:
sudo mkdir -p /var/www/crazytechgeek.info/html
Poté přiřaďte oprávnění k adresáři pomocí proměnné prostředí $USER
. Přitom se ujistěte, že jste přihlášeni jako běžný uživatel a ne jako uživatel root.
sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html
Dále rekurzivně přiřaďte správná oprávnění k adresáři, jak je znázorněno:
sudo chmod -R 755 /var/www/crazytechgeek.info/html
Krok 2: Vytvořte vzorovou stránku pro doménu
Dále vytvoříme soubor index.html
uvnitř vlastního webového kořenového adresáře, který bude doména obsluhovat po podání požadavku.
sudo vim /var/www/crazytechgeek.info/html/index.html
Do souboru vložte následující ukázkový obsah.
<html>
<head>
<title>Welcome to your_domain!</title>
</head>
<body>
<h1>Awesome! Your Nginx server block is working!</h1>
</body>
</html>
Uložte a ukončete konfigurační soubor.
Krok 3: Vytvořte blok serveru Nginx v CentOS
Aby webový server Nginx obsluhoval obsah v souboru index.html
, který jsme vytvořili v kroku 2, musíme vytvořit soubor bloku serveru s příslušnými direktivami. Proto vytvoříme nový blok serveru na adrese:
sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf
Dále vložte konfiguraci, která se zobrazí níže.
server {
listen 80;
listen [::]:80;
root /var/www/crazytechgeek.info/html;
index index.html index.htm index.nginx-debian.html;
server_name crazytechgeek.info www.crazytechgeek.info;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/crazytechgeek.info.access.log;
error_log /var/log/nginx/crazytechgeek.info.error.log;
}
Až budete hotovi, uložte změny a ukončete konfigurační soubor. Chcete-li potvrdit, že všechny konfigurace Nginx jsou zdravé a bezchybné, spusťte příkaz:
sudo nginx -t
Níže uvedený výstup by měl být potvrzením, že můžete jít!
Nakonec restartujte webový server Nginx a potvrďte, že běží podle očekávání:
sudo systemctl restart nginx
sudo systemctl status nginx
Krok 4: Testování bloku serveru Nginx v CentOS
Všichni jsme s konfiguracemi hotovi. Zbývá pouze potvrdit, zda náš blok serveru poskytuje obsah v kořenovém adresáři webu definovaném dříve v souboru index.html
.
Chcete-li to provést, jednoduše otevřete prohlížeč a přejděte na doménu vašeho serveru, jak je znázorněno:
http://domain-name
Jak bylo pozorováno, náš obsah je obsluhován blokem serveru, což je jasný signál, že vše proběhlo v pořádku.
Krok 5: Povolte HTTPS na doméně hostované na Nginx
Můžete zvážit šifrování domény pomocí Lets Encrypt SSL, které přidá vrstvu ochrany a zabezpečený provoz na webový server a z něj.
sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx
Chcete-li potvrdit, že je vaše doména správně nakonfigurována na HTTPS, navštivte ve svém prohlížeči https://yourwebsite.com/
a vyhledejte ikonu zámku v adresním řádku.
Závěr
Úspěšně jsme nastavili blok serveru Nginx na CentOS 8 a RHEL 8. Stejný postup můžete opakovat pro více domén pomocí stejného postupu.