GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit bloky serveru Nginx na CentOS 7

Nginx Server Blocks vám umožňuje provozovat více než jednu webovou stránku na jednom počítači. To je užitečné, protože pro každý web můžete zadat 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.

V tomto tutoriálu vysvětlíme, jak nastavit bloky serveru Nginx na CentOS 7.

Předpoklady #

Než budete pokračovat v tomto kurzu, 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. Použijeme example.com .
  • Nginx nainstalovaný ve vašem systému CentOS.
  • Přihlášen jako uživatel root nebo 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ůžeme nastavit do libovolného 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

V zásadě vytváříme samostatný adresář pro každou doménu, kterou chceme hostovat na našem serveru v /var/www adresář. V tomto adresáři 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 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 textový editor a vytvořte ukázku index.html soubor:

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>

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.

Abyste předešli problémům s oprávněními, změňte vlastnictví kořenového adresáře dokumentu domény na uživatele Nginx (nginx ):

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

Vytvořit blok serveru #

Soubory konfigurace bloku serveru Nginx musí končit .conf a jsou uloženy v /etc/nginx/conf.d adresář.

Otevřete svůj editor a vytvořte konfigurační soubor bloku serveru pro example.com .

sudo nano /etc/nginx/conf.d/example.com.conf
Konfigurační soubor můžete pojmenovat, jak chcete. 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.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;
    }
}

Uložte soubor a otestujte konfiguraci Nginx na 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:


Cent OS
  1. Nastavení serveru DHCP na CentOS 8 – Jak na to?

  2. Konfigurace bloků serveru Nginx na CentOS 7 – proces krok za krokem?

  3. Jak nastavit bloky serveru Nginx na Ubuntu a CentOS

  1. Jak nastavit virtuálního hostitele Nginx (bloky serveru) na CentOS 7

  2. Jak nastavit bloky serveru Nginx na Ubuntu 18.04

  3. Jak nastavit VSFTPD na CentOS 8

  1. Jak nastavit bloky serveru Nginx na Ubuntu 20.04

  2. Jak nastavit server OpenVPN na CentOS 7

  3. Jak nainstalovat Nginx na CentOS 8