GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit bloky serveru Nginx na Ubuntu 18.04

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 článku poskytneme pokyny krok za krokem, jak nastavit bloky serveru Nginx (podobně jako virtuální hostitelé Apache) na Ubuntu 18.04.

Předpoklady #

Než budete pokračovat ve výukovém programu, ujistěte se, že jste splnili následující předpoklady:

  • Máte název domény odkazující na IP vašeho veřejného serveru. Použijeme example.com .
  • Máte nainstalovaný Nginx podle těchto pokynů.
  • Jste přihlášeni jako uživatel s právy sudo.
V některé dokumentaci uvidíte 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řen dokumentu můžete nastavit do libovolného umístění.

Použijeme následující adresářovou strukturu:

/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html

V podstatě vytvoříme samostatný adresář pro každou doménu, kterou chceme hostovat na našem serveru v /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.

Vytvořme kořenový adresář pro naši doménu example.com :

sudo mkdir -p /var/www/example.com/public_html

Pro účely testování vytvoříme index.html soubor v kořenovém adresáři dokumentů domény.

Otevřete svůj editor a vytvořte ukázkový soubor:

/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>

V tomto příkladu spouštíme příkazy jako uživatel sudo a nově vytvořené soubory a adresáře jsou ve vlastnictví uživatele root.

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 (www-data ):

sudo chown -R www-data: /var/www/example.com

Vytvořit blok serveru #

Ve výchozím nastavení na systémech Ubuntu 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:

/etc/nginx/sites-available/example.com
server {
    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.

Chcete-li povolit nový soubor blokování serveru, vytvořte ze souboru symbolický odkaz na sites-enabled adresář, který Nginx čte během spouš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:


Ubuntu
  1. Jak nastavit Nginx jako reverzní proxy na Ubuntu 20.04

  2. Jak nastavit WireGuard na Ubuntu 22.04

  3. Jak nastavit TeamSpeak Server na Ubuntu 16.04

  1. Jak nastavit server OpenVPN na Ubuntu 18.04

  2. Jak nainstalovat Nginx na Ubuntu 20.04

  3. Jak nastavit bloky serveru Nginx na Ubuntu a CentOS

  1. Jak nastavit bloky serveru Nginx na Ubuntu 20.04

  2. Jak nastavit bloky serveru Nginx na CentOS 7

  3. Jak nastavit bloky serveru Nginx na CentOS 8