Nginx

Ako nainštalovať Nginx a konfigurovať na CentOS 8

Ako nainštalovať Nginx a konfigurovať na CentOS 8
Nginx je rýchly a ľahký webový server. Konfiguračné súbory Nginxu sú skutočne jednoduché a ľahko sa s nimi pracuje. Je to skvelá alternatíva k webovému serveru Apache.  V tomto článku vám ukážem, ako nainštalovať a nakonfigurovať webový server Nginx na serveri CentOS 8. Takže poďme na to.

Inštalácia Nginx:

Nginx je k dispozícii v oficiálnom úložisku balíkov CentOS 8. Inštalácia je teda veľmi jednoduchá.

Najskôr aktualizujte medzipamäť úložiska balíkov DNF takto:

$ sudo dnf makecache

Teraz nainštalujte Nginx pomocou nasledujúceho príkazu:

$ sudo dnf nainštalovať nginx

Inštaláciu potvrdíte stlačením Y a potom stlačte .

Nginx by mal byť nainštalovaný.

Správa služby nginx:

Predvolene, nginx služba by mala byť neaktívny (nebeží) a postihnutý (nespustí sa automaticky pri štarte).

$ sudo systemctl status nginx

Môžete spustiť nginx službu takto:

$ sudo systemctl start nginx

nginx služba by mala byť bežiaci.

$ sudo systemctl status nginx

Teraz pridajte nginx služba pri štarte systému nasledovne:

$ sudo systemctl povoliť nginx

Konfigurácia brány firewall:

Musíte nakonfigurovať bránu firewall tak, aby umožňovala prístup k portu HTTP 80 a portu HTTPS 443, aby ste mohli pristupovať na webový server Nginx z iných počítačov v sieti.

Prístup k portu HTTP a HTTPS môžete povoliť pomocou nasledujúceho príkazu:

$ sudo firewall-cmd --add-service = http, https - trvalé

Teraz, aby sa zmeny prejavili, spustite nasledujúci príkaz:

$ sudo firewall-cmd - načítať

Testovanie webového servera:

Ak chcete získať prístup, musíte poznať adresu IP alebo názov domény webového servera Nginx.

IP adresu vášho webového servera Nginx nájdete pomocou nasledujúceho príkazu:

$ ip a

V mojom prípade je IP adresa 192.168.20.175. U teba to bude iné. Odteraz ho teda vymeňte za svoj.

Teraz navštívte stránku http: // 192.168.20.175 z webového prehliadača. Mali by ste vidieť nasledujúcu stránku. Znamená to, že webový server Nginx funguje.

Konfiguračné súbory nginx:

Konfiguračné súbory webového servera Nginx sa nachádzajú v priečinku / etc / nginx / adresár.

$ strom / etc / nginx

/ etc / nginx / nginx.konf je hlavný konfiguračný súbor Nginx.

Predvolený webový koreňový adresár webového servera Nginx je / usr / share / nginx / html /. To je miesto, kde by ste mali mať súbory na svojom webe.

Nastavenie základného webového servera:

V tejto časti vám ukážem, ako nastaviť základný webový server Nginx.

Najskôr si urobte zálohu pôvodného konfiguračného súboru Nginx pomocou nasledujúceho príkazu:

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

Teraz vytvorte nový konfiguračný súbor Nginx nasledovne:

$ sudo nano / etc / nginx / nginx.konf

Teraz zadajte nasledujúce riadky do súboru / etc / nginx / nginx.konf súbor a uložte súbor.

užívateľ nginx nginx;
worker_processes auto;
error_log / var / log / nginx / chyba.guľatina;
pid / run / nginx.pid;
 
diania
worker_connections 1024;

 
http
zahrnúť / etc / nginx / mime.typy;
predvolený typ aplikácie / octet-stream;
 
server
počúvať 80;
príklad názov_servera.com www.príklad.com;
root / usr / share / nginx / html;
indexový index.html;
prístupový_log / var / log / nginx / prístup.guľatina;

Tu, používateľ voľba sa používa na nastavenie používateľa a skupiny Nginx run na nginx resp.

The error_log voľba sa používa na nastavenie cesty súboru protokolu chýb k / var / log / nginx / chyba.log. Tu sa budú ukladať chyby súvisiace so serverom Nginx.

Hlavná konfigurácia servera Nginx je definovaná v server časť vo vnútri http oddiel. Môžete definovať viac ako jeden server časť vo vnútri http oddiel, ak je to potrebné.

V server oddiel,

počúvaj Táto voľba sa používa na konfiguráciu Nginxu na počúvanie portu 80 (port HTTP) pre webové požiadavky.

názov servera Táto voľba sa používa na nastavenie jedného alebo viacerých doménových mien pre webový server Nginx. Ak sú vaše nastavenia DNS správne, môžete na webový server Nginx získať prístup pomocou týchto doménových mien.

prístup_log sa používa na nastavenie cesty súboru protokolu prístupu k / var / log / nginx / prístup.log. Keď sa niekto pokúsi získať prístup na webový server Nginx, prístupové informácie (t.j.e. IP adresa, URL, stavový kód HTTP) sa zaznamená do tohto súboru.

The umiestnenie Táto voľba sa používa na nastavenie koreňového adresára webového servera Nginx.

Tu je koreň adresár je / usr / share / nginx / html /.

Tu by sa mali uchovávať všetky súbory z webových stránok. The index sady volieb index.html ako predvolený súbor, ktorý sa má používať, ak sa nevyžaduje žiadny konkrétny súbor. Napríklad ak navštívite http: // 192.168.20.175 / myfile.html, potom sa ti vráti Nginx myfile.html spis. Ak však navštívite stránku http: // 192.168.20.175 /, potom vám Nginx pošle index.html súbor, pretože nebol požadovaný žiadny konkrétny súbor.

Teraz odstráňte všetky súbory z priečinka / usr / share / nginx / html / adresár (webový root) takto:

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

Teraz vytvorte nový index.html súbor v / usr / share / nginx / html / adresár takto:

Teraz zadajte nasledujúce riadky do index.html súbor a uložte súbor.

Ahoj svet


© 2020 LinuxHint.com

Teraz reštartujte nginx službu takto:

$ sudo systemctl reštart nginx

Teraz navštívte stránku http: // 192.168.20.175 z webového prehliadača a mala by sa vám zobraziť nasledujúca stránka. Gratulujem! Nastavili ste svoj prvý webový server Nginx.

Konfigurácia chybových stránok:

Chybové stránky môžete nakonfigurovať v Nginx. Ak napríklad stránka / súbor / adresár nie je k dispozícii, prehliadaču sa vráti stavový kód HTTP 404. Pre stavový kód HTTP 404, ktorý sa vráti späť do prehliadača, môžete nastaviť vlastnú chybovú stránku HTML.

Za týmto účelom pridajte nasledujúci riadok do súboru server časť nginx.konf spis.

server

chyba_strana 404/404.html;

Teraz vytvorte súbor 404.html v koreňovom adresári webu Nginx / usr / share / nginx / html / nasledovne:

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

Teraz zadajte nasledujúce riadky do 404.html a uložte súbor.

Chyba 404


Stránka nenájdená


© 2020 LinuxHint.com

Teraz reštartujte nginx službu takto:

$ sudo systemctl reštart nginx

Teraz sa pokúste získať prístup k neexistujúcej ceste (http: // 192.168.20.175 / nopage.html) a mala by sa zobraziť nasledujúca chybová stránka.

Ak 404.html súbor je na inej ceste k súborovému systému (povedzme / usr / share / nginx / html / errors / adresár), môžete mapovať adresu URL / 404.html k tomu takto:

server

chyba_strana 404/404.html;
umiestnenie / 404.html
root / usr / share / nginx / html / chyby;


Teraz vytvorte nový adresár  / usr / share / nginx / html / errors / nasledovne:

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

Teraz vytvorte nový súbor 404.html v adresári / usr / share / nginx / html / errors / nasledovne:

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

Teraz zadajte nasledujúce riadky do súboru 404.html súbor a uložte súbor.

STRÁNKA NENÁJDENÁ


SPÄŤ DOMOV

Teraz reštartujte nginx službu takto:

$ sudo systemctl reštart nginx

Teraz sa pokúste získať prístup k neexistujúcej ceste (http: // 192.168.20.175 / nopage.html) a mali by ste vidieť aktualizovanú chybovú stránku.

Rovnakým spôsobom môžete nastaviť chybovú stránku pre ďalšie stavové kódy HTTP.

Rovnakú chybovú stránku môžete nastaviť aj pre viaceré stavové kódy HTTP. Napríklad na nastavenie rovnakej chybovej stránky / 404.html pre stavové kódy HTTP 403 a 404, Napíš stránka_chyb možnosť takto:

chyba_strana 403 404/404.html;

Konfigurácia denníkov:

V Nginxe error_log a prístup_log možnosti sa používajú na zaznamenávanie chybových správ a prístupových informácií.

Formát súboru error_log a prístup_log možnosti sú:

error_log / path / to / error / log / file [voliteľné: custom-log-name];
access_log / path / to / access / log / file [voliteľné: custom-log-name];

Môžete si definovať svoj vlastný protokol chýb a ak chcete, máte prístup k formátom protokolu.

Ak to chcete urobiť, použite log_format možnosť v http v časti definujte svoj vlastný formát protokolu nasledovne.

http

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

server

prístupový_log / var / log / nginx / prístup.prihlásiť jednoduché;


Tu je názov formátu protokolu jednoduché. Niektoré premenné nginx sa používajú na definovanie vlastného formátu protokolu. Navštívte príručku vložených premenných Nginx, kde sa dozviete viac o všetkých premenných Nginx.

Vlastný formát protokolu by mal byť uvedený v jednoduchých úvodzovkách. Formát protokolu je možné definovať v jednom riadku alebo vo viacerých riadkoch. V tomto článku som ukázal, ako definovať formát protokolu vo viacerých riadkoch. Nebudete mať problémy s formátom protokolu s jedným riadkom, verte mi!

Raz formát protokolu jednoduché je definovaný, prístup_log Táto voľba slúži na nastavenie Nginxu, aby ho použil ako prístupový denník.

Rovnakým spôsobom môžete nastaviť vlastný formát protokolu chýb pomocou príkazu error_log možnosť.

V tomto článku som nakonfiguroval iba vlastný formát protokolu pre prístupový protokol.

Teraz reštartujte nginx službu takto:

$ sudo systemctl reštart nginx

Teraz môžete sledovať súbor denníka prístupu nasledovne:

$ sudo tail -f / var / log / nginx / prístup.log

Súbor denníka chýb môžete sledovať aj takto:

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

Ak chcete, môžete sledovať protokoly prístupu a súbory protokolov chýb súčasne nasledovne:

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

Ako vidíte, používa sa nový formát denníka prístupu.

Odmietnutie prístupu na určité cesty:

Môžete použiť regulárne výrazy, aby ste sa zhodovali s určitými cestami URI a zakázali im prístup v Nginx.

Povedzme, že váš web spravuje Git a vy chcete odmietnuť prístup k .git / adresár vo vašom webovom koreni.

Za týmto účelom zadajte nasledujúce riadky do súboru server časť / etc / nging / nginx.konf spis:

server

umiestnenie ~ \.git
popierať všetkých;


Ako vidíte, prístup na akúkoľvek cestu, ktorá obsahuje .git je odmietnutý.

Konfigurácia kompresie:

Webový obsah môžete komprimovať pred jeho odoslaním do prehliadača pomocou gzip ušetriť využitie šírky pásma webového servera Nginx.

Mám niekoľko obrázkov JPEG v priečinku / usr / share / nginx / html / images / adresár.

K týmto obrázkom mám prístup pomocou cesty URI /snímky.

Povolenie kompresie gzip iba pre obrázky JPEG v ceste k identifikátoru URI /snímky, zadajte nasledujúce riadky do poľa server časť / etc / nginx / nginx.konf spis.

server

umiestnenie / obrázky
gzip ďalej;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;


Tu, gzip_comp_level sa používa na nastavenie úrovne kompresie. Môže to byť akékoľvek číslo od 1 do 9. Čím vyššia úroveň, tým menší bude komprimovaný súbor.

Súbor bude komprimovaný, iba ak je veľkosť súboru vyššia gzip_min_length. V tomto príklade som to nastavil na asi 100 KB. Súbory JPEG menšie ako 100 KB teda nebudú komprimované vo formáte gzip.

The  gzip_types sa používa na nastavenie mime typu súborov, ktoré budú komprimované.

Typ mime z prípon súborov nájdete nasledovne:

$ grep jpg / etc / nginx / mime.typy

Ako vidíte, pre .jpg alebo .jpeg prípona súboru, typ mime je obrázok / jpeg.

Môžete nastaviť jeden alebo viac typov MIME pomocou gzip_types možnosť.

Ak chcete nastaviť viac typov MIME, nezabudnite ich oddeliť medzerami nasledovne:


obrázok typu gzip / obrázok jpeg / obrázok png / gif;

Teraz reštartujte nginx službu takto:

$ sudo systemctl reštart nginx

Ako vidíte, Nginx na požiadanie odošle do prehliadača komprimované obrazové súbory vo formáte gzip.

Ako vidíte na obrázku nižšie, komprimovaný súbor gzip je menší ako pôvodný súbor.

$ sudo tail -f / var / log / nginx / prístup.log

Povolenie protokolu HTTPS:

SSL v Nginxe môžete povoliť veľmi ľahko. V tejto časti vám ukážem, ako nastaviť certifikát SSL s vlastným podpisom v Nginx.

Najskôr prejdite na ikonu / etc / ssl / adresár takto:

$ cd / etc / ssl

Teraz vygenerujte kľúč SSL server.kľúč a certifikát server.crt nasledujúcim príkazom:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout
server.kľúčový server.crt

POZNÁMKA: Musíš mať openssl nainštalovaný, aby to fungovalo. Ak príkaz openssl nie je k dispozícii, nainštalujte ho openssl nasledujúcim príkazom:

$ sudo dnf install openssl -y

Teraz zadajte svoj dvojpísmenový kód krajiny (t.j.e. USA pre USA, Spojené kráľovstvo pre Spojené kráľovstvo, RU pre Rusko, CN pre Čínu) a tlač .

Teraz zadajte svoj štát alebo provinciu a stlačte .

Teraz zadajte svoje mesto a stlačte .

Teraz zadajte svoj názov spoločnosti a stlačte .

Teraz zadajte názov organizačnej jednotky vašej spoločnosti, ktorá bude tento certifikát používať, a stlačte .

Teraz zadajte plne kvalifikovaný názov domény (FQDN) svojho webového servera Nginx a stlačte . Certifikát SSL bude platný, iba ak je k webovému serveru Nginx pristupovaný pomocou tohto názvu domény.

Teraz zadajte svoju e-mailovú adresu a stlačte .

Váš certifikát SSL by mal byť pripravený.

SSL certifikát a kľúč by mali byť generované v / etc / ssl / adresár.

$ ls -lh

Teraz otvorte konfiguračný súbor Nginx / etc / nginx / nginx.konf a zmeniť počúvaj prístav do 443 a zadajte nasledujúce riadky do server oddiel.

server

ssl ďalej;
ssl_certifikát / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.kľúč;

Teraz reštartujte nginx službu takto:

$ sudo systemctl reštart nginx

V skutočnom živote budete mať správne nastavenie DNS. Ale na účely testovania som nakonfiguroval lokálny názov domény založený na súbore v počítači, z ktorého som používal prístup na webový server Nginx.

Ak chcete pokračovať, otvorte / etc / hostitelia súbor nasledovne:

$ sudo nano / etc / hosts

Potom pridajte nasledujúci riadok do / etc / hostitelia spis.

192.168.20.175 www.príklad.com

Teraz skúste navštíviť stránku https: // www.príklad.com a mala by sa ti zobraziť nasledujúca stránka. Uvidíš Vaše pripojenie nie je zabezpečené správa, pretože ide o certifikát s vlastným podpisom. To je dobré iba na testovacie účely.

V reálnom živote budete kupovať certifikáty SSL od certifikačných autorít (CA) a používať ich. Tento typ správy teda neuvidíte.

Ako vidíte, Nginx poskytoval webovú stránku prostredníctvom protokolu HTTPS. SSL teda funguje.

Informácie SSL z www.príklad.com.

Presmerovanie požiadaviek HTTP na HTTPS:

Ak niekto navštívi váš web pomocou protokolu HTTP (http: // www.príklad.com alebo http: // 192.168.20.175) namiesto HTTPS (https: // www.príklad.com), nechcete odmietnuť požiadavku HTTP. Ak to urobíte, stratíte návštevníka. Čo by ste skutočne mali urobiť, je presmerovať používateľa na web s povoleným protokolom SSL. Je to naozaj jednoduché.

Najskôr otvorte konfiguračný súbor Nginx / etc / nginx / nginx.konf a vytvoriť nový server časť vo vnútri http časť takto:

http

server
počúvať 80;
názov_serveru www.príklad.com;
návrat 301 https: // www.príklad.com $ request_uri;


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

užívateľ nginx nginx;
worker_processes auto;
error_log / var / log / nginx / chyba.guľatina;
pid / run / nginx.pid;
diania
worker_connections 1024;

http
zahrnúť / etc / nginx / mime.typy;
predvolený typ aplikácie / octet-stream;
log_format jednoduchý '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
 
server
počúvať 80;
názov_serveru www.príklad.com;
návrat 301 https: // www.príklad.com $ request_uri;

server
počúvať 443;
názov_serveru www.príklad.com;
ssl ďalej;
ssl_certifikát / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.kľúč;
prístupový_log / var / log / nginx / prístup.prihlásiť jednoduché;
miesto /
root / usr / share / nginx / html;
indexový index.html;

umiestnenie / obrázky
gzip ďalej;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;

chyba_strana 404/404.html;
umiestnenie / 404.html
root / usr / share / nginx / html / chyby;

umiestnenie ~ \.git
popierať všetkých;


Teraz reštartujte nginx službu takto:

$ sudo systemctl reštart nginx

Teraz, ak sa pokúsite získať prístup na adresu http: // 192.168.20.175 alebo http: // www.príklad.com, budete presmerovaný na https: // www.príklad.com.

Takto teda inštalujete a konfigurujete webový server Nginx na serveri CentOS 8. Ďakujeme, že ste si prečítali tento článok.

Kurzor pri písaní v systéme Windows 10 skáče alebo sa pohybuje náhodne
Ak zistíte, že kurzor myši skáče alebo sa pohybuje sám, automaticky a náhodne pri písaní na notebooku alebo počítači so systémom Windows, niektoré z t...
Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...