Nginx

Kako instalirati Nginx i konfigurirati na CentOS 8

Kako instalirati Nginx i konfigurirati na CentOS 8
Nginx je brz i lagan web poslužitelj. Konfiguracijske datoteke Nginxa zaista su jednostavne i s njima je lako raditi. Izvrsna je alternativa web poslužitelju Apache.  U ovom članku pokazat ću vam kako instalirati i konfigurirati Nginx web poslužitelj na CentOS 8. Pa, krenimo.

Instaliranje Nginxa:

Nginx je dostupan u službenom spremištu paketa CentOS 8. Dakle, vrlo je jednostavno instalirati.

Prvo ažurirajte predmemoriju spremišta DNF paketa na sljedeći način:

$ sudo dnf makecache

Sada instalirajte Nginx sa sljedećom naredbom:

$ sudo dnf instaliraj nginx

Da biste potvrdili instalaciju, pritisnite Y a zatim pritisnite .

Treba instalirati Nginx.

Upravljanje nginx uslugom:

Prema zadanim postavkama, nginx usluga bi trebala biti neaktivan (ne radi) i onemogućeno (neće se automatski pokrenuti prilikom pokretanja).

$ sudo systemctl status nginx

Možete pokrenuti nginx usluga kako slijedi:

$ sudo systemctl start nginx

nginx usluga bi trebala biti trčanje.

$ sudo systemctl status nginx

Sad dodaj nginx usluga za pokretanje sustava na sljedeći način:

$ sudo systemctl omogući nginx

Konfiguriranje vatrozida:

Morate konfigurirati vatrozid kako bi omogućio pristup HTTP priključku 80 i HTTPS priključku 443 da bi Nginx web poslužitelju pristupio s drugih računala u mreži.

Pristup HTTP i HTTPS priključku možete dopustiti sljedećom naredbom:

$ sudo firewall-cmd --add-service = http, https - trajni

Sada, da bi promjene stupile na snagu, pokrenite sljedeću naredbu:

$ sudo firewall-cmd --reload

Testiranje web poslužitelja:

Morate znati IP adresu ili ime domene Nginx web poslužitelja da biste mu pristupili.

IP adresu vašeg Nginx web poslužitelja možete pronaći pomoću sljedeće naredbe:

$ ip a

U mom slučaju, IP adresa je 192.168.20.175. Za vas će biti drugačije. Pazite da ga od sada zamijenite svojim.

Sada posjetite http: // 192.168.20.175 iz vašeg web preglednika. Trebali biste vidjeti sljedeću stranicu. To znači da Nginx web poslužitelj radi.

Datoteke za konfiguraciju nginxa:

Datoteke za konfiguraciju web poslužitelja Nginx nalaze se u / etc / nginx / imenik.

$ stablo / etc / nginx

/ etc / nginx / nginx.konf je glavna Nginxova konfiguracijska datoteka.

Zadani web korijenski direktorij Nginx web poslužitelja je / usr / share / nginx / html /. Dakle, ovdje biste trebali čuvati datoteke web stranica.

Postavljanje osnovnog web poslužitelja:

U ovom odjeljku pokazat ću vam kako postaviti osnovni Nginx web poslužitelj.

Prvo napravite sigurnosnu kopiju izvorne konfiguracijske datoteke Nginx sa sljedećom naredbom:

$ sudo mv -v / etc / nginx / nginx.conf / etc / nginx / nginx.konf.izvornik

Sada stvorite novu konfiguracijsku datoteku Nginx kako slijedi:

$ sudo nano / etc / nginx / nginx.konf

Sada unesite sljedeće retke u / etc / nginx / nginx.konf datoteku i spremite datoteku.

korisnik nginx nginx;
worker_proces auto;
error_log / var / log / nginx / error.trupac;
pid / run / nginx.pid;
 
događaji
veze_radnika 1024;

 
http
uključuju / etc / nginx / mime.vrste;
default_type aplikacija / oktet-tok;
 
poslužitelj
slušati 80;
primjer poslužitelja_ime.com www.primjer.com;
root / usr / share / nginx / html;
indeksni indeks.html;
pristup_log / var / log / nginx / pristup.trupac;

Ovdje, korisnik opcija se koristi za postavljanje korisnika i grupe Nginx pokretanja na nginx odnosno.

The dnevnik pogrešaka opcija se koristi za postavljanje puta datoteke datoteke pogrešaka na / var / log / nginx / pogreška.zapisnik. Tu će se pohraniti pogreške povezane s Nginx poslužiteljem.

Glavna konfiguracija Nginx poslužitelja definirana je u poslužitelju odjeljak unutar http odjeljak. Možete definirati više njih poslužitelju odjeljak unutar http odjeljak ako je potrebno.

U poslužitelju odjeljak,

slušati opcija se koristi za konfiguriranje Nginxa za preslušavanje porta 80 (HTTP priključak) za web zahtjeve.

ime_poslužitelja opcija se koristi za postavljanje jednog ili više imena domena za Nginx web poslužitelj. Ako su vaše DNS postavke ispravne, web pristupniku Nginx možete pristupiti pomoću ovih imena domena.

pristupni_log koristi se za postavljanje putanje pristupne datoteke dnevnika na / var / log / nginx / pristup.zapisnik. Kada netko pokuša pristupiti web poslužitelju Nginx, podaci o pristupu (tj.e. IP adresa, URL, HTTP statusni kod) bit će zabilježeni u ovu datoteku.

The mjesto opcija se koristi za postavljanje korijenskog direktorija Nginx web poslužitelja.

Evo, korijen direktorij je / usr / share / nginx / html /.

Ovdje treba čuvati sve datoteke web mjesta. The indeks skupovi opcija indeks.html kao zadana datoteka koja će se služiti ako se ne traži posebna datoteka. Na primjer, ako posjetite http: // 192.168.20.175 / myfile.html, tada ćete se vratiti Nginx myfile.html datoteka. Ali, ako posjetite http: // 192.168.20.175 /, tada će vam Nginx poslati indeks.html datoteku jer nije tražena posebna datoteka.

Sada uklonite sve datoteke s / usr / share / nginx / html / direktorij (web korijen) kako slijedi:

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

Sada stvorite novi indeks.html datoteku u / usr / share / nginx / html / direktorij kako slijedi:

Sada upišite sljedeće retke u indeks.html datoteku i spremite datoteku.

Pozdrav svijete


© 2020 LinuxHint.com

Sada ponovno pokrenite nginx usluga kako slijedi:

$ sudo systemctl ponovno pokrenite nginx

Sada posjetite http: // 192.168.20.175 iz vašeg web preglednika i trebali biste vidjeti sljedeću stranicu. Čestitamo! Postavili ste svoj prvi Nginx web poslužitelj.

Konfiguriranje stranica s pogreškama:

Stranice s pogreškama možete konfigurirati u Nginxu. Na primjer, ako stranica / datoteka / direktorij nije dostupan, HTTP statusni kôd 404 vratit će se u preglednik. Možete postaviti prilagođenu stranicu HTML pogreške za HTTP statusni kod 404 koja će se vratiti u preglednik.

Da biste to učinili, dodajte sljedeći redak u poslužitelju odjeljak nginx.konf datoteka.

poslužitelj
..
stranica s pogreškama 404/404.html;
..

Sada stvorite datoteku 404.html u mrežnom korijenu Nginx / usr / share / nginx / html / kako slijedi:

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

Sada upišite sljedeće retke u 404.html i spremite datoteku.

Pogreška 404


Stranica nije pronađena


© 2020 LinuxHint.com

Sada ponovno pokrenite nginx usluga kako slijedi:

$ sudo systemctl ponovno pokrenite nginx

Sada pokušajte pristupiti nepostojećem putu (http: // 192.168.20.175 / nopage.html) i trebali biste vidjeti sljedeću stranicu s pogreškom.

Ako je 404.html datoteka je na drugom putu datotečnog sustava (recimo / usr / share / nginx / html / error / direktorij), možete mapirati URL / 404.html na njega kako slijedi:

poslužitelj
..
stranica s pogreškama 404/404.html;
mjesto / 404.html
root / usr / share / nginx / html / pogreške;

..

Sada napravite novi direktorij  / usr / share / nginx / html / error / kako slijedi:

$ sudo mkdir / usr / share / nginx / html / pogreške

Sada stvorite novu datoteku 404.html u direktoriju / usr / share / nginx / html / error / kako slijedi:

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

Sada unesite sljedeće retke u 404.html datoteku i spremite datoteku.

STRANICA NIJE PRONAĐENA


VRATITI SE KUĆI

Sada ponovno pokrenite nginx usluga kako slijedi:

$ sudo systemctl ponovno pokrenite nginx

Sada pokušajte pristupiti nepostojećem putu (http: // 192.168.20.175 / nopage.html) i trebali biste vidjeti ažuriranu stranicu s pogreškom.

Na isti način možete postaviti stranicu pogreške za ostale HTTP kodove statusa.

Također možete postaviti istu stranicu pogreške za više HTTP kodova statusa. Na primjer, za postavljanje iste stranice s pogreškama / 404.html za HTTP statusne kodove 403 i 404, Napiši stranica s pogreškama opcija kako slijedi:

stranica pogreške 403 404/404.html;

Konfiguriranje dnevnika:

U Nginxu, dnevnik pogrešaka i pristupni_log opcije se koriste za bilježenje poruka o pogreškama i pristup informacijama.

Format dnevnik pogrešaka i pristupni_log mogućnosti su:

dnevnik pogrešaka / put / do / pogreške / dnevnika / datoteke [izborno: custom-log-name];
access_log / path / to / access / log / file [nije obavezno: custom-log-name];

Ako želite, možete definirati vlastiti zapisnik pogrešaka i pristupiti formatima dnevnika.

Da biste to učinili, upotrijebite log_format opcija u http odjeljak za definiranje vašeg prilagođenog formata dnevnika kako slijedi.

http
..
log_format jednostavan '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
..
poslužitelj
..
pristup_log / var / log / nginx / pristup.trupac jednostavan;
..

Ovdje je naziv formata dnevnika jednostavan. Neke nginx varijable koriste se za definiranje prilagođenog formata dnevnika. Posjetite priručnik za ugrađene varijable Nginx da biste saznali više o svim Nginx varijablama.

Prilagođeni format dnevnika treba priložiti u pojedinačne navodnike. Format dnevnika može se definirati u jednom retku ili u više redaka. U ovom sam članku pokazao kako definirati format dnevnika u više redaka. Nećete imati problema s jednorednim formatom dnevnika, vjerujte mi!

Jednom format dnevnika jednostavan je definirano, pristupni_log opcija se koristi da se Nginxu kaže da ga koristi kao dnevnik pristupa.

Na isti način možete postaviti prilagođeni format dnevnika pogrešaka pomoću dnevnik pogrešaka opcija.

U ovom sam članku konfigurirao samo prilagođeni format dnevnika za pristupni dnevnik.

Sada ponovno pokrenite nginx usluga kako slijedi:

$ sudo systemctl ponovno pokrenite nginx

Sada datoteku dnevnika pristupa možete pratiti na sljedeći način:

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

Datoteku dnevnika pogrešaka možete pratiti i na sljedeći način:

$ sudo tail -f / var / log / nginx / error.zapisnik

Ako želite, istodobno možete pratiti pristupni zapis i datoteke dnevnika pogrešaka na sljedeći način:

$ sudo tail -f / var / log / nginx / pogreška, pristup.zapisnik

Kao što vidite, koristi se novi format dnevnika pristupa.

Uskraćivanje pristupa određenim stazama:

Možete koristiti regularne izraze za podudaranje određenih URI staza i zabraniti pristup njemu u Nginxu.

Recimo, vašom web lokacijom upravlja Git, a vi želite zabraniti pristup .git / direktorija na vašem web korijenu.

Da biste to učinili, upišite sljedeće retke u poslužitelju odjeljak / etc / nging / nginx.konf datoteka:

poslužitelj
..
mjesto ~ \.git
poricati sve;

..

Kao što vidite, pristup bilo kojem putu koji sadrži .git negira se.

Konfiguriranje kompresije:

Možete komprimirati web sadržaj prije nego što ga pošaljete putem preglednika gzip radi uštede propusnosti pri korištenju web poslužitelja Nginx.

Imam neke JPEG slike u / usr / share / nginx / html / images / imenik.

Tim slikama mogu pristupiti putem URI puta / slike.

Omogućiti gzip kompresiju samo za JPEG slike u URI stazi / slike, unesite sljedeće retke u poslužitelju odjeljak / etc / nginx / nginx.konf datoteka.

poslužitelj
..
lokacija / slike
gzip na;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types slika / jpeg;

..

Ovdje, gzip_comp_level koristi se za postavljanje razine kompresije. To može biti bilo koji broj od 1 do 9. Što je viša razina, to će komprimirana datoteka biti manja.

Datoteka će se komprimirati samo ako je veličina datoteke iznad gzip_min_length. U ovom sam primjeru postavio oko 100 KB. Dakle, JPEG datoteke manje od 100 KB neće se gzip komprimirati.

The  gzip_tipovi koristi se za postavljanje mime datoteke koja će se komprimirati.

Tip mime možete pronaći u nastavcima datoteka kako slijedi:

$ grep jpg / etc / nginx / mime.vrste

Kao što vidite, for .jpg ili .jpeg ekstenzija datoteke, mime je vrsta slika / jpeg.

Pomoću možete postaviti jednu ili više vrsta mima gzip_tipovi opcija.

Ako želite postaviti više vrsta mima, svakako ih razdvojite razmacima na sljedeći način:

"
gzip_types slika / jpeg slika / png slika / gif;

Sada ponovno pokrenite nginx usluga kako slijedi:

$ sudo systemctl ponovno pokrenite nginx

Kao što vidite, Nginx na zahtjev šalje gzip komprimirane slikovne datoteke u preglednik.

Kao što možete vidjeti na snimci zaslona ispod, gzip komprimirana datoteka manja je od izvorne datoteke.

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

Omogućavanje HTTPS-a:

Možete vrlo lako omogućiti SSL u Nginxu. U ovom odjeljku pokazat ću vam kako postaviti samopotpisani SSL certifikat u Nginxu.

Prvo se pomaknite do / etc / ssl / direktorij kako slijedi:

$ cd / etc / ssl

Sada generirajte SSL ključ poslužitelju.ključ i potvrda poslužitelju.crt sa sljedećom naredbom:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout
poslužitelju.key -out poslužitelj.crt

BILJEŠKA: Moraš imati openssl instaliran da bi ovo funkcioniralo. Ako naredba openssl nije dostupna, instalirajte openssl sa sljedećom naredbom:

$ sudo dnf install openssl -y

Sada unesite svoj dvoslovni kôd države (i.e. SAD za SAD, UK za Ujedinjeno Kraljevstvo, RU za Rusiju, CN za Kinu) i tisak .

Sada unesite naziv države / provincije i pritisnite .

Sada unesite svoje ime grada i pritisnite .

Sada upišite naziv svoje tvrtke i pritisnite .

Sada unesite naziv organizacijske jedinice vaše tvrtke koja će koristiti ovaj certifikat i pritisnite .

Sada unesite potpuno kvalificirano ime domene (FQDN) vašeg web poslužitelja Nginx i pritisnite . SSL certifikat bit će valjan samo ako se web serveru Nginx pristupi pomoću ovog imena domene.

Sada unesite svoju adresu e-pošte i pritisnite .

Vaš SSL certifikat trebao bi biti spreman.

SSL certifikat i ključ trebaju se generirati u / etc / ssl / imenik.

$ ls -lh

Sada otvorite konfiguracijsku datoteku Nginx / etc / nginx / nginx.konf i promjena slušati luka do 443 i unesite sljedeće retke u poslužitelju odjeljak.

poslužitelj
..
ssl na;
ssl_certificate / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.ključ;
..

Sada ponovno pokrenite nginx usluga kako slijedi:

$ sudo systemctl ponovno pokrenite nginx

U stvarnom životu imat ćete ispravne DNS postavke. Ali u svrhu testiranja konfigurirao sam lokalno ime domene temeljeno na datoteci na računalu s kojeg sam pristupio web poslužitelju Nginx.

Ako želite nastaviti, otvorite / etc / hosts datoteka na sljedeći način:

$ sudo nano / etc / hosts

Zatim dodajte sljedeći redak u / etc / hosts datoteka.

192.168.20.175 www.primjer.com

Sada pokušajte posjetiti https: // www.primjer.com i trebali biste vidjeti sljedeću stranicu. Vidjet ćeš Vaša veza nije sigurna poruku jer se radi o samopotpisanom certifikatu. Ovo je dobro samo za testiranje.

U stvarnom ćete životu kupovati SSL certifikate od tijela za izdavanje certifikata (CA) i koristiti ih. Dakle, nećete vidjeti ovu vrstu poruke.

Kao što vidite, Nginx je web stranicu posluživao putem HTTPS-a. Dakle, SSL radi.

SSL podaci www.primjer.com.

Preusmjeravanje HTTP zahtjeva na HTTPS:

Ako netko posjeti vaše web mjesto putem HTTP protokola (http: // www.primjer.com ili http: // 192.168.20.175) umjesto HTTPS-a (https: // www.primjer.com), ne želite odbiti HTTP zahtjev. Ako to učinite, izgubit ćete posjetitelja. Ono što biste stvarno trebali učiniti je preusmjeriti korisnika na web mjesto s omogućenim SSL-om. To je zaista jednostavno učiniti.

Prvo otvorite konfiguracijsku datoteku Nginx / etc / nginx / nginx.konf i stvoriti novi poslužitelju odjeljak unutar http odjeljak kako slijedi:

http
..
poslužitelj
slušati 80;
ime_poslužitelja www.primjer.com;
povratak 301 https: // www.primjer.com $ request_uri;

..

Ovo je konačno / etc / nginx / nginx.konf datoteka:

korisnik nginx nginx;
worker_proces auto;
error_log / var / log / nginx / error.trupac;
pid / run / nginx.pid;
događaji
veze_radnika 1024;

http
uključuju / etc / nginx / mime.vrste;
default_type aplikacija / oktet-tok;
log_format jednostavan '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
 
poslužitelj
slušati 80;
ime_poslužitelja www.primjer.com;
povratak 301 https: // www.primjer.com $ request_uri;

poslužitelj
slušati 443;
ime_poslužitelja www.primjer.com;
ssl na;
ssl_certificate / etc / ssl / server.crt;
ssl_certificate_key / etc / ssl / server.ključ;
pristup_log / var / log / nginx / pristup.trupac jednostavan;
lokacija /
root / usr / share / nginx / html;
indeksni indeks.html;

lokacija / slike
gzip na;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types slika / jpeg;

stranica s pogreškama 404/404.html;
mjesto / 404.html
root / usr / share / nginx / html / pogreške;

mjesto ~ \.git
poricati sve;


Sada ponovno pokrenite nginx usluga kako slijedi:

$ sudo systemctl ponovno pokrenite nginx

Ako pokušate pristupiti http: // 192.168.20.175 ili http: // www.primjer.com, bit ćete preusmjereni na https: // www.primjer.com.

Dakle, na taj način instalirate i konfigurirate Nginx web poslužitelj na CentOS 8. Hvala što ste pročitali ovaj članak.

Kako koristiti Xdotool za poticanje klikova i pritiska miša u Linuxu
Xdotool je besplatni alat za naredbene retke otvorenog koda za simulaciju klikova mišem i pritiska tipki. Ovaj će članak pokrivati ​​kratki vodič o ko...
Top 5 ergonomskih proizvoda za računalni miš za Linux
Uzrokuje li dugotrajno korištenje računala bolove u zapešću ili prstima? Patite li od ukočenih zglobova i stalno se morate rukovati? Osjećate li goruć...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...