Nginx

Jak nainstalovat Nginx a konfigurovat na CentOS 8

Jak nainstalovat Nginx a konfigurovat na CentOS 8
Nginx je rychlý a lehký webový server. Konfigurační soubory Nginx jsou opravdu jednoduché a snadno se s nimi pracuje. Je to skvělá alternativa k webovému serveru Apache.  V tomto článku vám ukážu, jak nainstalovat a nakonfigurovat webový server Nginx na CentOS 8. Pojďme tedy začít.

Instalace Nginx:

Nginx je k dispozici v oficiálním úložišti balíků CentOS 8. Instalace je tedy velmi snadná.

Nejprve aktualizujte mezipaměť úložiště balíků DNF následujícím způsobem:

$ sudo dnf makecache

Nyní nainstalujte Nginx pomocí následujícího příkazu:

$ sudo dnf install nginx

Instalaci potvrďte stisknutím Y a poté stiskněte .

Nginx by měl být nainstalován.

Správa služby nginx:

Ve výchozím stavu, nginx služba by měla být neaktivní (neběží) a zakázán (nespustí se automaticky při spuštění).

$ sudo systemctl status nginx

Můžete spustit nginx služba takto:

$ sudo systemctl start nginx

nginx služba by měla být běh.

$ sudo systemctl status nginx

Nyní přidejte nginx služba spuštění systému následujícím způsobem:

$ sudo systemctl povolit nginx

Konfigurace brány firewall:

Musíte nakonfigurovat bránu firewall tak, aby umožňovala přístup k portu HTTP 80 a portu HTTPS 443, abyste mohli přistupovat k webovému serveru Nginx z jiných počítačů v síti.

Přístup k portu HTTP a HTTPS můžete povolit pomocí následujícího příkazu:

$ sudo firewall-cmd --add-service = http, https - stálý

Aby se změny projevily, spusťte následující příkaz:

$ sudo firewall-cmd --reload

Testování webového serveru:

Abyste získali přístup, musíte znát IP adresu nebo název domény webového serveru Nginx.

IP adresu svého webového serveru Nginx najdete následujícím příkazem:

$ ip a

V mém případě je IP adresa 192.168.20.175. Bude to pro vás jiné. Od této chvíle jej tedy vyměňte za svůj.

Nyní navštivte http: // 192.168.20.175 z webového prohlížeče. Měla by se zobrazit následující stránka. To znamená, že webový server Nginx funguje.

Konfigurační soubory nginx:

Konfigurační soubory webového serveru Nginx jsou v / etc / nginx / adresář.

$ strom / etc / nginx

/ etc / nginx / nginx.konf je hlavní konfigurační soubor Nginx.

Výchozí webový kořenový adresář webového serveru Nginx je / usr / share / nginx / html /. To je místo, kde byste měli uchovávat soubory svých webových stránek.

Nastavení základního webového serveru:

V této části vám ukážu, jak nastavit základní webový server Nginx.

Nejprve proveďte zálohu původního konfiguračního souboru Nginx pomocí následujícího příkazu:

$ sudo mv -v / etc / nginx / nginx.conf / etc / nginx / nginx.konf.originál

Nyní vytvořte nový konfigurační soubor Nginx následujícím způsobem:

$ sudo nano / etc / nginx / nginx.konf

Nyní zadejte následující řádky do pole / etc / nginx / nginx.konf soubor a uložte soubor.

uživatel nginx nginx;
worker_processes auto;
error_log / var / log / nginx / error.protokol;
pid / run / nginx.pid;
 
Události
worker_connections 1024;

 
http
zahrnout / etc / nginx / mime.typy;
default_type aplikace / octet-stream;
 
server
poslouchat 80;
příklad název_serveru.com www.příklad.com;
root / usr / share / nginx / html;
index index.html;
přístupový_log / var / log / nginx / přístup.protokol;

Tady, uživatel volba slouží k nastavení Nginx run uživatele a skupiny na nginx resp.

The error_log volba slouží k nastavení cesty k souboru protokolu chyb na / var / log / nginx / chyba.log. Zde se budou ukládat chyby související se serverem Nginx.

Hlavní konfigurace serveru Nginx je definována v serveru část uvnitř http sekce. Můžete definovat více než jednu serveru část uvnitř http sekce v případě potřeby.

V serveru sekce,

poslouchat Tato možnost se používá ke konfiguraci Nginx pro naslouchání portu 80 (port HTTP) pro webové požadavky.

název_serveru Možnost slouží k nastavení jednoho nebo více doménových jmen pro webový server Nginx. Pokud je vaše nastavení DNS správné, můžete přistupovat na webový server Nginx pomocí těchto doménových jmen.

přístupový_log se používá k nastavení cesty k souboru protokolu přístupu / var / log / nginx / access.log. Když se někdo pokusí o přístup na webový server Nginx, informace o přístupu (tj.E. IP adresa, URL, stavový kód HTTP) budou zaznamenány do tohoto souboru.

The umístění Tato možnost slouží k nastavení kořenového adresáře webového serveru Nginx.

Tady vykořenit adresář je / usr / share / nginx / html /.

Zde by měly být uloženy všechny soubory webových stránek. The index sady možností index.html jako výchozí soubor, který bude sloužit, pokud není vyžadován žádný konkrétní soubor. Například pokud navštívíte http: // 192.168.20.175 / myfile.html, pak se Nginx vrátí myfile.html soubor. Pokud však navštívíte http: // 192.168.20.175 /, pak vám Nginx pošle index.html soubor, protože nebyl požadován žádný konkrétní soubor.

Nyní odeberte všechny soubory z / usr / share / nginx / html / adresář (webový kořen) takto:

$ sudo rm -rfv / usr / share / nginx / html / *

Nyní vytvořte nový index.html soubor v / usr / share / nginx / html / adresář takto:

Nyní zadejte následující řádky index.html soubor a uložte soubor.

Ahoj světe


© 2020 Linux Nápověda.com

Nyní restartujte nginx služba takto:

$ sudo systemctl restart nginx

Nyní navštivte http: // 192.168.20.175 z webového prohlížeče a měla by se zobrazit následující stránka. gratuluji! Nastavili jste svůj první webový server Nginx.

Konfigurace chybových stránek:

Chybové stránky můžete nakonfigurovat v Nginxu. Pokud například stránka / soubor / adresář není k dispozici, bude do prohlížeče vrácen stavový kód HTTP 404. Pro stavový kód HTTP 404, který bude vrácen do prohlížeče, můžete nastavit vlastní chybovou stránku HTML.

Chcete-li to provést, přidejte do řádku následující řádek serveru část nginx.konf soubor.

server

error_page 404/404.html;

Nyní vytvořte soubor 404.html v kořenovém adresáři webu Nginx / usr / share / nginx / html / jak následuje:

$ sudo nano / usr / share / nginx / html / 404.html

Nyní zadejte následující řádky 404.html a uložte soubor.

Chyba 404


Stránka nenalezena


© 2020 Linux Nápověda.com

Nyní restartujte nginx služba takto:

$ sudo systemctl restart nginx

Nyní zkuste získat přístup k neexistující cestě (http: // 192.168.20.175 / nopage.html) a měla by se zobrazit následující chybová stránka.

Pokud 404.html soubor je v jiné cestě k souborovému systému (řekněme / usr / share / nginx / html / chyby / adresář), můžete mapovat URL / 404.html k tomu následovně:

server

error_page 404/404.html;
umístění / 404.html
root / usr / share / nginx / html / chyby;


Nyní vytvořte nový adresář  / usr / share / nginx / html / chyby / jak následuje:

$ sudo mkdir / usr / share / nginx / html / chyby

Nyní vytvořte nový soubor 404.html v adresáři / usr / share / nginx / html / errors / jak následuje:

$ sudo nano / usr / share / nginx / html / errors / 404.html

Nyní zadejte následující řádky do pole 404.html soubor a uložte soubor.

STRÁNKA NENALEZENA


JDI ZPÁTKY DOMŮ

Nyní restartujte nginx služba takto:

$ sudo systemctl restart nginx

Nyní zkuste získat přístup k neexistující cestě (http: // 192.168.20.175 / nopage.html) a měla by se zobrazit aktualizovaná chybová stránka.

Stejným způsobem můžete nastavit chybovou stránku pro další stavové kódy HTTP.

Můžete také nastavit stejnou chybovou stránku pro více stavových kódů HTTP. Například pro nastavení stejné chybové stránky / 404.html pro stavové kódy HTTP 403 a 404, napsat error_page možnost takto:

error_page 403 404/404.html;

Konfigurace protokolů:

V Nginxu error_log a přístupový_log možnosti se používají pro protokolování chybových zpráv a přístup k informacím.

Formát souboru error_log a přístupový_log možnosti jsou:

error_log / path / to / error / log / file [volitelně: custom-log-name];
access_log / path / to / access / log / file [volitelně: custom-log-name];

Můžete definovat vlastní protokol chyb a chcete-li získat přístup k formátům protokolu.

K tomu použijte log_format možnost v http sekci definovat svůj vlastní formát protokolu následujícím způsobem.

http

log_format jednoduchý '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';

server

přístupový_log / var / log / nginx / přístup.protokol jednoduchý;


Zde je název formátu protokolu jednoduchý. Některé proměnné nginx se používají k definování vlastního formátu protokolu. V příručce k vestavěným proměnným Nginx se dozvíte o všech proměnných Nginx.

Vlastní formát protokolu by měl být uzavřen do jednoduchých uvozovek. Formát protokolu lze definovat v jednom řádku nebo ve více řádcích. V tomto článku jsem ukázal, jak definovat formát protokolu ve více řádcích. Nebudete mít problémy s formátem protokolu s jedním řádkem, věřte mi!

Jednou formát protokolu jednoduchý je definováno, přístupový_log Tato volba slouží k tomu, aby Nginx řekl, aby jej použil jako přístupový protokol.

Stejným způsobem můžete nastavit vlastní formát protokolu chyb pomocí error_log volba.

V tomto článku jsem nakonfiguroval pouze vlastní formát protokolu pro přístupový protokol.

Nyní restartujte nginx služba takto:

$ sudo systemctl restart nginx

Nyní můžete sledovat soubor protokolu přístupu následujícím způsobem:

$ sudo tail -f / var / log / nginx / access.log

Soubor protokolu chyb můžete také sledovat následujícím způsobem:

$ sudo tail -f / var / log / nginx / chyba.log

Pokud chcete, můžete sledovat přístupový protokol a soubory protokolu chyb současně následujícím způsobem:

$ sudo tail -f / var / log / nginx / chyba, přístup.log

Jak vidíte, používá se nový formát protokolu přístupu.

Odepření přístupu na určité cesty:

Můžete použít regulární výrazy, aby odpovídaly určitým cestám URI a odepřely přístup k nim v Nginxu.

Řekněme, že váš web spravuje Git a chcete mu odepřít přístup .git / adresář ve vašem webovém kořenovém adresáři.

Chcete-li to provést, zadejte následující řádky do pole serveru část / etc / nging / nginx.konf soubor:

server

umístění ~ \.git
popírat všechny;


Jak vidíte, přístup k jakékoli cestě, která obsahuje .sakra je zamítnuto.

Konfigurace komprese:

Webový obsah můžete před odesláním do prohlížeče zkomprimovat pomocí gzip ušetřit využití šířky pásma webového serveru Nginx.

Mám několik obrázků JPEG v / usr / share / nginx / html / images / adresář.

K těmto obrázkům mám přístup pomocí cesty URI /snímky.

Povolit kompresi gzip pouze pro obrázky JPEG v cestě URI /snímky, zadejte následující řádky do serveru část / etc / nginx / nginx.konf soubor.

server

umístění / obrázky
gzip zapnuto;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types obrázek / jpeg;


Tady, úroveň gzip_comp_level se používá k nastavení úrovně komprese. Může to být jakékoli číslo od 1 do 9. Čím vyšší úroveň, tím menší bude komprimovaný soubor.

Soubor bude komprimován, pouze pokud je velikost souboru výše gzip_min_length. V tomto příkladu jsem to nastavil na asi 100 KB. Soubory JPEG menší než 100 KB tedy nebudou komprimovány pomocí gzip.

The  gzip_types se používá k nastavení typu mime souborů, které budou komprimovány.

Typ mime z přípon souborů najdete takto:

$ grep jpg / etc / nginx / mime.typy

Jak vidíte, pro .jpg nebo .jpeg přípona souboru, typ mime je obrázek / jpeg.

Můžete nastavit jeden nebo více typů mimů pomocí gzip_types volba.

Pokud chcete nastavit více typů mim, nezapomeňte je oddělit mezerami následujícím způsobem:

"
obrázek gzip_types / obrázek jpeg / obrázek png / gif;

Nyní restartujte nginx služba takto:

$ sudo systemctl restart nginx

Jak vidíte, Nginx na požádání odesílá do prohlížeče komprimované obrazové soubory gzip.

Jak vidíte na následujícím obrázku, komprimovaný soubor gzip je menší než původní soubor.

$ sudo tail -f / var / log / nginx / access.log

Povolení HTTPS:

SSL můžete v Nginxu povolit velmi snadno. V této části vám ukážu, jak nastavit certifikát SSL s vlastním podpisem v Nginx.

Nejprve přejděte na / etc / ssl / adresář takto:

$ cd / etc / ssl

Nyní vygenerujte klíč SSL serveru.klíč a certifikát serveru.crt s následujícím příkazem:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout
serveru.klíčový server.crt

POZNÁMKA: Musíš mít openssl nainstalován, aby to fungovalo. Pokud příkaz openssl není k dispozici, nainstalujte openssl s následujícím příkazem:

$ sudo dnf install openssl -y

Nyní zadejte svůj dvoupísmenný kód země (tj.E. USA pro USA, Spojené království pro Spojené království, RU pro Rusko, CN pro Čínu) a tisk .

Nyní zadejte název státu / provincie a stiskněte .

Nyní zadejte název svého města a stiskněte .

Nyní zadejte název vaší společnosti a stiskněte .

Nyní zadejte název organizační jednotky vaší společnosti, která bude tento certifikát používat, a stiskněte .

Nyní zadejte plně kvalifikovaný název domény (FQDN) vašeho webového serveru Nginx a stiskněte . Certifikát SSL bude platný pouze v případě, že je k webovému serveru Nginx přistupován pomocí tohoto názvu domény.

Nyní zadejte svou e-mailovou adresu a stiskněte .

Váš certifikát SSL by měl být připraven.

Certifikát SSL a klíč by měly být generovány v / etc / ssl / adresář.

$ ls -lh

Nyní otevřete konfigurační soubor Nginx / etc / nginx / nginx.konf a změnit poslouchat port do 443 a zadejte následující řádky do serveru sekce.

server

ssl zapnuto;
ssl_certificate / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.klíč;

Nyní restartujte nginx služba takto:

$ sudo systemctl restart nginx

V reálném životě budete mít správné nastavení DNS. Ale pro účely testování jsem nakonfiguroval místní název domény založené na souborech v počítači, který jsem použil pro přístup k webovému serveru Nginx.

Chcete-li pokračovat, otevřete / etc / hosts soubor takto:

$ sudo nano / etc / hosts

Poté přidejte následující řádek do / etc / hosts soubor.

192.168.20.175 www.příklad.com

Nyní zkuste navštívit https: // www.příklad.com a měla by se zobrazit následující stránka. Uvidíš Vaše připojení není zabezpečené zpráva, protože se jedná o certifikát podepsaný svým držitelem. To je dobré pouze pro účely testování.

V reálném životě budete kupovat certifikáty SSL od certifikačních autorit (CA) a používat je. Tento typ zprávy tedy neuvidíte.

Jak vidíte, Nginx poskytoval webovou stránku přes HTTPS. SSL tedy funguje.

Informace SSL z www.příklad.com.

Přesměrování požadavků HTTP na HTTPS:

Pokud někdo navštíví váš web pomocí protokolu HTTP (http: // www.příklad.com nebo http: // 192.168.20.175) místo HTTPS (https: // www.příklad.com), nechcete odmítnout požadavek HTTP. Pokud to uděláte, ztratíte návštěvníka. To, co byste opravdu měli udělat, je přesměrovat uživatele na web s povoleným SSL. Je to opravdu jednoduché.

Nejprve otevřete konfigurační soubor Nginx / etc / nginx / nginx.konf a vytvořit nový serveru část uvnitř http část takto:

http

server
poslouchat 80;
název_serveru www.příklad.com;
vrátit 301 https: // www.příklad.com $ request_uri;


Toto je finále / etc / nginx / nginx.konf soubor:

uživatel nginx nginx;
worker_processes auto;
error_log / var / log / nginx / error.protokol;
pid / run / nginx.pid;
Události
worker_connections 1024;

http
zahrnout / etc / nginx / mime.typy;
default_type aplikace / octet-stream;
log_format jednoduchý '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
 
server
poslouchat 80;
název_serveru www.příklad.com;
vrátit 301 https: // www.příklad.com $ request_uri;

server
poslouchat 443;
název_serveru www.příklad.com;
ssl zapnuto;
ssl_certificate / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.klíč;
přístupový_log / var / log / nginx / přístup.protokol jednoduchý;
místo /
root / usr / share / nginx / html;
index index.html;

umístění / obrázky
gzip zapnuto;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types obrázek / jpeg;

error_page 404/404.html;
umístění / 404.html
root / usr / share / nginx / html / chyby;

umístění ~ \.git
popírat všechny;


Nyní restartujte nginx služba takto:

$ sudo systemctl restart nginx

Nyní, pokud se pokusíte získat přístup na adresu http: // 192.168.20.175 nebo http: // www.příklad.com, budete přesměrováni na https: // www.příklad.com.

Takto tedy nainstalujete a nakonfigurujete webový server Nginx na CentOS 8. Děkujeme za přečtení tohoto článku.

WinMouse vám umožňuje přizpůsobit a vylepšit pohyb ukazatele myši na PC s Windows
Chcete-li vylepšit výchozí funkce ukazatele myši, použijte freeware WinMouse. Přidává další funkce, které vám pomohou vytěžit ze své skromné ​​myši ma...
V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...
Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...