Vyhledávání na webu

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áznam A 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ény crazytechgeek.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.