GNU/Linux >> Znalost Linux >  >> Debian

Jak nastavit bloky serveru Nginx na Debianu 10

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 vysvětluje, jak nastavit bloky serveru Nginx na Debianu 10.

Předpoklady #

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.
  • Nginx nainstalovaný ve vašem systému Debian.
  • 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ř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ůže být libovolný adresář na serveru.

Příklady v tomto článku používají 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.

Spuštěním následujícího příkazu vytvořte kořenový adresář 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í jsou na systémech Debian konfigurační soubory bloků serveru Nginx uloženy v /etc/nginx/sites-available adresář. Chcete-li aktivovat konfiguraci, musíte soubor symbolicky propojit s /etc/nginx/sites-enabled/ adresář.

Otevřete textový editor a vytvořte následující soubor bloku serveru:

sudo nano /etc/nginx/sites-available/example.com.conf
/etc/nginx/sites-available/example.com.conf
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 lze pojmenovat jakkoli 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

Chcete-li ověřit, že blok serveru funguje podle očekávání, otevřete http://example.com ve vašem prohlížeči a uvidíte něco takového:


Debian
  1. Jak nastavit SFTP server na Debian 11 Server

  2. Jak nastavit bloky serveru Nginx na Ubuntu a CentOS

  3. Jak nastavit server OpenVPN na Debianu 10

  1. Jak nastavit server Samba na Debian 10 Buster

  2. Jak nastavit server NFS na Debian 10 Buster

  3. Jak nastavit LEMP server na Debian 10 Buster

  1. Jak nastavit bloky serveru Nginx na Ubuntu 18.04

  2. Jak nastavit bloky serveru Nginx na Ubuntu 20.04

  3. Jak nastavit bloky serveru Nginx na CentOS 7