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

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

Úvod

Serverové bloky, často označované jako virtuální hostitel Nginx jsou funkcí webového serveru Nginx, která vám umožňuje hostovat více webových stránek na jednom serveru. Na rozdíl od nastavování a konfigurace serveru pro každou doménu šetří hostování více webových stránek na jednom počítači čas i peníze.

Domény jsou izolované a nezávislé, každá má samostatné:

  • Adresář pro dokumentaci webu
  • Zásady zabezpečení webových stránek
  • Certifikát SSL

V tomto kurzu se dozvíte, jak nastavit bloky serveru Nginx a nakonfigurovat soubor místního hostitele na CentOS 7.

Předpoklady

  • CentOS samostatně spravovaný server nebo virtuální počítač
  • Nginx nainstalovaný v systému
  • Uživatel s funkcí sudo privilegia

Nastavení bloků virtuálního hostitele / serveru na CentOS

Krok 1:Vytvořte adresářovou strukturu

Virtuální hostitel Nginx může podporovat více webových stránek na jednom počítači. Vzhledem k tomu, že každý web má samostatnou dokumentaci webu, musíte pro uložení dat vytvořit jednotlivé adresářové struktury.

Každý blok serveru by měl mít adresář v kořenovém adresáři dokumentu (/var/www adresář).

Tato příručka vám ukáže, jak vytvořit virtuální hostitele pro dva servery (website1.com a website2.com ). Můžete upravit konfiguraci a přizpůsobit ji svým příslušným zdrojům.

1. Začněte pomocí následujícího příkazu k vytvoření složky uvnitř /var/www adresář s příkazem:

sudo mkdir -p /var/www/website1.com/html

2. Poté vytvořte jeden pro druhý web zadáním:

sudo mkdir -p /var/www/website2.com/html

3. Dále změňte vlastnictví souborů, aby ostatní uživatelé mohli přidávat, odstraňovat nebo upravovat soubory v adresářích. V důsledku toho budou oba adresáře patřit uživateli, ke kterému jste přihlášeni.

4. Použijte příkaz chown změnit vlastnictví souboru:

sudo chown -R $USER:$USER /var/www/website1.com/html

5. Opakujte postup pro druhý webový adresář (nezapomeňte změnit název domény) zadáním:

sudo chown -R $USER:$USER /var/www/website2.com/html

6. Nakonec udělte oprávnění ke čtení do všech souborů v adresáři /var/www pomocí chmod příkaz:

sudo chmod -R 755 /var/www

Krok 2:Vytvořte ukázkovou stránku pro virtuálního hostitele

Následujícím krokem je vytvoření obsahu, který chcete zobrazit na webech hostovaných na blocích serveru Nginx. Nejjednodušší způsob, jak tento proces ilustrovat, by bylo vytvořit index.html stránku pro dvě výše uvedené domény.

1. Pomocí textového editoru pro Linux podle svého výběru vytvořte a otevřete soubor index.html pro první web. V tomto příkladu jsme použili Vi (ale Nano nebo jakýkoli jiný funguje dobře také):

vi /var/www/website1.com/html/index.html

2. Jakmile se otevře prázdná stránka Vi, stiskněte i (pro vložení) a přidejte následující obsah:

<html>
  <head>
    <title>Welcome to our first website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website1.com server block.</h1>
  <body>
<html>

3. Poté uložte a ukončete první soubor.

4. Opakujte kroky pro druhou doménu. Nezapomeňte však upravit název souboru na website2 :

vi /var/www/website2.com/html/index.html

Přidejte také obsah podobný předchozímu kroku, ale změňte specifika tak, aby odpovídala druhé doméně:

<html>
  <head>
    <title>Welcome to our second website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website2.com server block.</h1>
  <body>
<html>

Znovu uložte a ukončete soubor.

Krok 3:Nastavení prostředí pro soubory bloků serveru

Než nastavíme virtuální hostitele pro dvě domény, musíme vytvořit dva adresáře:

  • Weby-dostupné adresář, do kterého se uloží bloky serveru.
  • Povoleno pro weby adresář, který Nginxu řekne, které odkazy má publikovat a které bloky sdílejí obsah s návštěvníky.

1. Použijte mkdir k vytvoření nových adresářů pomocí příkazů:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

2. Poté otevřete konfigurační soubor Nginx a upravte jej přidáním adresáře s povolenými weby:

sudo vi /etc/nginx/nginx.conf

3. Do bloku http přidejte následující dva řádky:

include /etc/nginx/sites-enabled/*.conf
server_names_hash_bucket_size 64;

Zatímco první řádek instruuje Nginx, aby zkontroloval adresář s povolenými weby, druhý zvyšuje množství paměti vyhrazené pro zkoumání více doménových jmen.

4. Uložte soubor a ukončete.

5. Po provedení jakýchkoli změn ověřte konfigurační soubor Nginx, abyste se ujistili, že syntaxe je správná. Pokud tak učiníte, můžete se vyhnout možným chybám v budoucnu.

Otestujte soubor pomocí následujícího příkazu:

sudo nginx --t

Pokud je syntaxe v pořádku , výstup vám řekne, že test byl úspěšný, jako na obrázku níže.

Pokud však nalezne problém v syntaxi, výstup specifikuje, kde je chyba a jak se vrátit a opravit ji.

Krok 4:Vytvořte blokové soubory serveru

Balíček webového serveru Nginx je dodáván s výchozím blokem serveru pod názvem default.conf. Protože potřebujete vytvořit bloky serveru pro každou doménu, nejjednodušší způsob, jak to udělat, je zkopírovat existující šablonu a upravit specifikace.

1. Vytvořte virtuálního hostitele pro první web pomocí cp příkaz k vytvoření přesné kopie souboru:

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website1.com.conf

2. Otevřete klonovaný soubor pomocí textového editoru s následujícím příkazem:

sudo vi /etc/nginx/sites-available/website1.com.conf

Obsah souboru by měl vypadat jako na obrázku níže:

3. V souboru jsou tři (3) řádky, které budete muset upravit:

  • název_serveru by měl odpovídat názvu domény vašeho prvního webu. Nezapomeňte uvést adresu s www. i bez něj předpona. Server tak rozpozná oba typy požadavků návštěvníků a přesměruje je na stejný obsah.

V našem příkladu by tedy název_serveru byl:

server name website1.com www.website1.com;
  • Upravte kořenový adresář tak, aby se shodoval s webem website1.com pomocí příkazu:
root /var/www/website1.com/html;
  • Přidejte try_files příkaz s chybou 404 pro případy, kdy server obdrží požadavky na nesledovatelné soubory a adresáře:
try_files $uri $uri/ =404;

Před ukončením nezapomeňte soubor uložit. Po provedení všech změn se konfigurační soubor zobrazí následovně:

4. Opakujte proces pro druhý blok serveru a změňte podrobnosti tak, aby odpovídaly website2.com .

To zahrnuje zkopírování výchozího konfiguračního souboru pomocí příkazu:

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website2.com.conf

Následuje otevření souboru pomocí textového editoru:

sudo vi /etc/nginx/sites-available/website2.com.conf

Upravte obsah následujícím způsobem:

server name website2.com www.website2.com;
try_files $uri $uri/ =404;
root /var/www/website2.com/html;

Krok 5:Povolte soubory blokování serveru

Chcete-li povolit soubory virtuálního hostitele, vytvořte symbolické odkazy v adresářích s povolenými weby pomocí příkazů:

sudo ln -s /etc/nginx/sites-available/website1.com.conf /etc/nginx/sites-enabled/website1.com.conf
sudo ln -s /etc/nginx/sites-available/website2.com.conf /etc/nginx/sites-enabled/website2.com.conf


Aby se změny projevily, nezapomeňte restartovat Nginx:

sudo systemctl restart nginx

Krok 6:Konfigurace hostitelského souboru

Pokud jste místo funkčních domén použili vzorové domény, upravte hostitele soubor pro přesměrování požadavků na virtuální privátní server (VPS), který jste vytvořili.

1. Otevřete hostitelský soubor v textovém editoru:

sudo vi /etc/hosts

2. Upravte následující dva řádky pod existujícím obsahem a zadejte IP adresu VPS:

ip_address website1.com
ip_address website2.com

3. Uložte a ukončete soubor.

Krok 7:Ověřte nastavení serverových bloků

Chcete-li ověřit nastavení serverových bloků, přejděte na weby, které jste vytvořili pro hostování na serverových blocích.

Otevřete prohlížeč a zadejte adresu URL první domény:

www.website1.com
www.website2.com

Měli byste vidět obsah vytvořený pro ukázkovou stránku v kroku 2.


Cent OS
  1. Jak nastavit virtuální hostitele Apache na CentOS

  2. Jak vytvořit virtuální hostitele Nginx (blok serveru)

  3. Virtuální hostitel Nginx – blok serveru Nginx

  1. Jak nastavit bloky serveru Nginx na Ubuntu 18.04

  2. Nastavení serveru DHCP na CentOS 8 – Jak na to?

  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 server OpenVPN na CentOS 7