GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nakonfigurovat bloky serveru Nginx na Ubuntu 18.04/20.04

V Nginx server blokuje se používají k definování informací o konkrétní doméně. Pomáhá hostovat více domén nebo webových stránek. Každý blok obsahuje specifické informace o doméně, jako je kořen dokumentu, SSL, port a další. Bloky serveru Nginx jsou podobné virtuálním hostitelům Apache.

V tomto tutoriálu se naučíme, jak konfigurovat bloky serveru Nginx na Ubuntu 18.04/20.04 .

Předpoklady

Vyžaduje instanci Ubuntu 18.04/20.04. Instance by měla mít nainstalovaný Nginx. Vyžadovat uživatele s přístupem sudo.

Krok 1. Vytvořte 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í, ale v tomto článku použijeme následující adresářovou strukturu:

/var/www/
├── domain1.com
│   └── images
│   └── index.html
│   └── style.css
├── domain2.net
│   └── images
│   └── index.html
│   └── style.css

V zásadě vytvoříme samostatný adresář pro každou doménu, kterou chceme hostovat na našem serveru v /var/www adresář.

Vytvořme kořenový adresář pro naše domény:

$ sudo mkdir -p /var/www/domain1.com

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

$ cd /var/www/domain1.com/
/var/www/domain1.com$ sudo mkdir images index.html style.css

Otevřete náš editor a vytvořte ukázkový soubor:

/var/www/domain1.com/index.html
<!DOCTYPE html> <html lang="en" dir="ltr">

<head> <meta charset="utf-8">

<title>Welcome to domain1.com</title> <link rel="stylesheet" href="style.css"/>

</head>

<body> <h1 style="color:green;text-align:center;">Success! domain1.com home page!</h1>

</body>

</html>

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

Abychom se vyhnuli problémům s oprávněními, můžeme změnit vlastnictví kořenového adresáře dokumentu domény na uživatele Nginx (www-data) :

$ sudo chown -R www-data: /var/www/domain1.com

stejné postupy provedeme s domain2.net

Krok 2. Vytvořte blokové soubory serveru Nginx pro každou doménu

Nyní, když máme obsah, který chceme poskytovat, musíme skutečně vytvořit bloky serveru, které Nginxu řeknou, jak to udělat.

Ve výchozím nastavení Nginx obsahuje jeden blok serveru s názvem dfault které můžeme použít jako šablonu pro naše vlastní konfigurace. Začneme návrhem bloku serveru naší první domény, který pak zkopírujeme pro naši druhou doménu a provedeme potřebné úpravy.

1) Vytvořte první blokový soubor serveru Nginx

Jak bylo uvedeno výše, vytvoříme náš první konfigurační soubor bloku serveru zkopírováním přes výchozí soubor:

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain1.com

Nyní otevřete nový soubor, který jste vytvořili v textovém editoru s právy sudo:

$ sudo nano /etc/nginx/sites-available/domain1.com

Po úpravě bude soubor vypadat podobně jako toto:

/etc/nginx/sites-available/domain1.com
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain1.com; 

index index.html index.htm index.nginx-debian.html; 

server_name domain1.com www.domain1.com; 

location / 

    { try_files $uri $uri/ =404; 

  } 
}

To je vše, co potřebujeme pro základní konfiguraci. Uložte a zavřete soubor pro ukončení Ctrl + x .

2) Vytvořte druhý blokový soubor serveru Nginx

Nyní, když máme první konfiguraci bloku serveru Nginx, můžeme ji použít jako základ pro náš druhý soubor. Zkopírujte jej a vytvořte nový soubor:

$ sudo cp /etc/nginx/sites-available/domain1.com /etc/nginx/sites-available/domain2.net

Otevřete nový soubor pomocí sudo oprávnění ve vašem editoru:

$ sudo nano /etc/nginx/sites-available/domain2.net

Upravte direktivu root tak, aby ukazovala na dokument root naší druhé domény a upravte server_name aby odpovídal názvu domény vašeho druhého webu (nezapomeňte uvést všechny aliasy).

Až budete hotovi, náš soubor bude pravděpodobně vypadat nějak takto:

/etc/nginx/sites-available/domain2.net
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain2.net; 

index index.html index.htm index.nginx-debian.html; 

server_name domain2.net www.domain2.net; 

location / 

{ try_files $uri $uri/ =404; 

  } 
}

Uložte a zavřete soubor pro ukončení Ctrl + x .

Krok 3. Povolte naše blokování serveru Nginx a restartujte Nginx

Nyní, když máme naše blokové soubory serveru, musíme je povolit. Můžeme to udělat vytvořením symbolických odkazů z těchto souborů na sites-enabled adresář, ze kterého Nginx čte během spouštění.

Tyto odkazy můžeme vytvořit zadáním:

$ sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/domain2.net /etc/nginx/sites-enabled/

Tyto soubory jsou nyní v adresáři enabled. Nyní máme povoleny tři bloky serveru:

1. domain1.com:Odpoví na požadavky pro domain1.com a www.domain1.com
2. domain2.net:Odpoví na požadavky pro domain2.net a www.domain2.net
3. výchozí:Odpoví na všechny požadavky na portu 80, které se neshodují s ostatními dvěma bloky.

Abychom se vyhnuli možnému problému s pamětí hash bucket, který může vzniknout přidáním dalších názvů serverů, upravíme jednu hodnotu v našem souboru /etc/nginx/nginx.conf. Otevřete soubor nyní:

$ sudo nano /etc/nginx/nginx.conf

V souboru najděte server_names_hash_bucket_size směrnice. Odstraňte # symbol pro odkomentování řádku:

/etc/nginx/nginx.conf
http { . . . server_names_hash_bucket_size 64; . . . }

Po dokončení uložte a zavřete soubor.

Dále otestujte, abyste se ujistili, že v žádném z našich souborů Nginx nejsou žádné syntaktické chyby:

$ sudo nginx -t

Pokud nebyly nalezeny žádné problémy, restartujte Nginx, abyste povolili naše změny:

$ sudo systemctl restart nginx

Nginx by nyní měl obsluhovat obě naše doménová jména.

Krok 4. Ověřte přístupem na web

Nyní, když jsme všichni nastaveni, bychom měli otestovat, zda bloky našeho serveru fungují správně. Můžeme to udělat návštěvou domén v našem webovém prohlížeči:

http://domain1.com

Měli byste vidět stránku, která vypadá takto:

Pokud navštívíte název své druhé domény, měli byste vidět trochu jiný web:

http://domain2.net

Závěr

V tomto tutoriálu jsme se naučili, jak nakonfigurovat blok serveru Nginx na Ubuntu 18.04/20.04. Pomocí serverových bloků Nginx jsme nastavili dvě domény pro obsluhu webových požadavků.


Ubuntu
  1. Jak nastavit bloky serveru Nginx na Ubuntu 18.04

  2. Jak nainstalovat Nginx na Ubuntu 20.04

  3. Jak nastavit bloky serveru Nginx na Ubuntu 20.04

  1. Jak nakonfigurovat HAProxy na serveru Debian 9 / Ubuntu 16.04

  2. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 18.04 / Debian 9

  3. Jak nakonfigurovat Bacula Server na Ubuntu 16.04

  1. Jak nakonfigurovat OSSEC na Ubuntu – část 2

  2. Jak nakonfigurovat OpenVPN na Ubuntu 16.04

  3. Jak nainstalovat a nakonfigurovat MRTG na Ubuntu 18.04/20.04