Nginx

Kaip įdiegti „Nginx“ ir konfigūruoti „CentOS 8“

Kaip įdiegti „Nginx“ ir konfigūruoti „CentOS 8“
„Nginx“ yra greitas ir lengvas interneto serveris. „Nginx“ konfigūracijos failai yra tikrai paprasti ir lengvai naudojami. Tai puiki „Apache“ tinklo serverio alternatyva.  Šiame straipsnyje aš jums parodysiu, kaip įdiegti ir sukonfigūruoti „Nginx“ tinklo serverį „CentOS 8“. Taigi, pradėkime.

„Nginx“ diegimas:

„Nginx“ yra oficialioje „CentOS 8“ paketų saugykloje. Taigi, tai labai lengva įdiegti.

Pirmiausia atnaujinkite DNF paketo saugyklos talpyklą taip:

$ sudo dnf makecache

Dabar įdiekite „Nginx“ naudodami šią komandą:

$ sudo dnf įdiekite „nginx“

Norėdami patvirtinti diegimą, paspauskite Y tada paspauskite .

Reikėtų įdiegti „Nginx“.

„Nginx“ paslaugos valdymas:

Pagal numatytuosius nustatymus, Nginx paslauga turėtų būti neaktyvus (neveikia) ir neįgalus (nebus paleista automatiškai).

$ sudo systemctl status nginx

Galite pradėti Nginx paslaugą taip:

$ sudo systemctl start nginx

Nginx paslauga turėtų būti bėgimas.

$ sudo systemctl status nginx

Dabar pridėkite Nginx paslauga sistemos paleidimui taip:

$ sudo systemctl įgalina nginx

Ugniasienės konfigūravimas:

Turite sukonfigūruoti ugniasienę, kad leistumėte prieigą prie HTTP prievado 80 ir HTTPS 443 prievado, kad galėtumėte pasiekti „Nginx“ tinklo serverį iš kitų tinklo kompiuterių.

Galite leisti pasiekti HTTP ir HTTPS prievadus naudodami šią komandą:

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

Dabar, kad pakeitimai įsigaliotų, vykdykite šią komandą:

$ sudo ugniasienė-cmd - perkrauti

Tinklo serverio testavimas:

Norėdami pasiekti „Nginx“ žiniatinklio serverį, turite žinoti jo IP adresą arba domeno pavadinimą.

„Nginx“ žiniatinklio serverio IP adresą galite rasti naudodami šią komandą:

$ ip a

Mano atveju IP adresas yra 192.168.20.175. Jums bus kitaip. Taigi, nuo šiol būtinai pakeiskite jį savo.

Dabar apsilankykite http: // 192.168.20.175 iš savo žiniatinklio naršyklės. Turėtumėte pamatyti šį puslapį. Tai reiškia, kad veikia „Nginx“ tinklo serveris.

„Nginx“ konfigūracijos failai:

„Nginx“ tinklo serverio konfigūracijos failai yra / etc / nginx / kataloge.

$ medis / etc / nginx

/ etc / nginx / nginx.konf yra pagrindinis „Nginx“ konfigūracijos failas.

Numatytasis Nginx tinklo serverio žiniatinklio šakninis katalogas yra / usr / share / nginx / html /. Taigi, čia turėtumėte saugoti savo svetainės failus.

Pagrindinio tinklo serverio nustatymas:

Šiame skyriuje aš jums parodysiu, kaip sukonfigūruoti pagrindinį „Nginx“ tinklo serverį.

Pirmiausia atlikite atsarginę „Nginx“ konfigūracijos failo atsarginę kopiją naudodami šią komandą:

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

Dabar sukurkite naują „Nginx“ konfigūracijos failą taip:

$ sudo nano / etc / nginx / nginx.konf

Dabar įveskite šias eilutes / etc / nginx / nginx.konf failą ir išsaugokite failą.

vartotojas nginx nginx;
darbuotojas_procesai auto;
error_log / var / log / nginx / error.žurnalas;
pid / run / nginx.pid;
 
įvykiai
darbininkas_jungimai 1024;

 
http
įtraukti / etc / nginx / mime.tipai;
default_type application / octet-stream;
 
serveris
klausytis 80;
serverio_vardas pavyzdys.com www.pavyzdys.com;
root / usr / share / nginx / html;
indekso indeksas.HTML;
access_log / var / log / nginx / prieiga.žurnalas;

Čia, Vartotojas parinktis naudojama nustatyti „Nginx“ paleisti vartotoją ir grupę į Nginx atitinkamai.

The error_log parinktis naudojama nustatyti klaidų žurnalo failo kelią į / var / log / nginx / klaida.žurnalas. Čia bus saugomos klaidos, susijusios su „Nginx“ serveriu.

Pagrindinė „Nginx“ serverio konfigūracija yra apibrėžta serverio skyriuje http skyrius. Galite apibrėžti daugiau nei vieną serverio skyriuje http skyriuje, jei reikia.

Viduje konors serverio skyrius,

klausyk parinktis naudojama konfigūruoti „Nginx“, kad būtų galima klausytis 80 prievado (HTTP prievado) žiniatinklio užklausoms.

serverio pavadinimas parinktis naudojama norint nustatyti vieną ar daugiau „Nginx“ žiniatinklio serverio domenų pavadinimų. Jei jūsų DNS nustatymai yra teisingi, galite pasiekti „Nginx“ žiniatinklio serverį naudodami šiuos domenų pavadinimus.

access_log naudojamas nustatyti prieigos žurnalo failo kelią į / var / log / nginx / prieiga.žurnalas. Kai kas nors bando prisijungti prie „Nginx“ tinklo serverio, prieigos informacija (t.e. IP adresas, URL, HTTP būsenos kodas) bus užregistruotas šiame faile.

The vieta Parinktis naudojama nustatyti „Nginx“ žiniatinklio serverio šakninį katalogą.

Čia, šaknis katalogas yra / usr / share / nginx / html /.

Čia turėtų būti saugomi visi svetainės failai. The indeksas pasirinkimo rinkiniai indeksas.HTML kaip numatytąjį failą, kurį reikia pateikti, jei nėra reikalingo konkretaus failo. Pvz., Jei apsilankysite http: // 192.168.20.175 / myfile.HTML, tada grįšite jūs „Nginx“ myfile.HTML failą. Bet jei apsilankysite http: // 192.168.20.175 /, tada „Nginx“ atsiųs jums indeksą.html failą, nes nebuvo prašoma konkretaus failo.

Dabar pašalinkite visus failus iš / usr / share / nginx / html / katalogą (žiniatinklio šaknį) taip:

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

Dabar sukurkite naują indeksas.HTML failą / usr / share / nginx / html / katalogą taip:

Dabar įveskite šias eilutes indeksas.HTML failą ir išsaugokite failą.

Labas pasauli


© 2020 „LinuxHint“.com

Dabar paleiskite iš naujo Nginx paslaugą taip:

$ sudo systemctl paleiskite iš naujo „nginx“

Dabar apsilankykite http: // 192.168.20.175 iš savo žiniatinklio naršyklės ir turėtumėte pamatyti šį puslapį. Sveikinimai! Sukūrėte savo pirmąjį „Nginx“ tinklo serverį.

Konfigūruojant klaidų puslapius:

Galite sukonfigūruoti klaidų puslapius „Nginx“. Pavyzdžiui, jei puslapis / failas / katalogas nėra, HTTP būsenos kodas 404 bus grąžintas naršyklei. Galite nustatyti pasirinktinį HTML klaidos puslapį HTTP būsenos kodui 404, kuris bus grąžintas į naršyklę.

Norėdami tai padaryti, pridėkite šią eilutę serverio skyrius Nginx.konf failą.

serveris

klaidos_ puslapis 404/404.HTML;

Dabar sukurkite failą 404.HTML „Nginx“ žiniatinklio šaknyje / usr / share / nginx / html / taip:

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

Dabar įveskite šias eilutes 404.HTML ir išsaugokite failą.

404 klaida


Puslapis nerastas


© 2020 „LinuxHint“.com

Dabar paleiskite iš naujo Nginx paslaugą taip:

$ sudo systemctl paleiskite iš naujo „nginx“

Dabar pabandykite pasiekti neegzistuojantį kelią (http: // 192.168.20.175 / nopage.html) ir turėtumėte pamatyti šį klaidos puslapį.

Jei 404.HTML failas yra kitame failų sistemos kelyje (tarkime / usr / share / nginx / html / klaidos / kataloge), galite susieti URL / 404.HTML jai taip:

serveris

klaidos_ puslapis 404/404.HTML;
vieta / 404.HTML
root / usr / share / nginx / html / klaidos;


Dabar sukurkite naują katalogą  / usr / share / nginx / html / klaidos / taip:

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

Dabar sukurkite naują failą 404.HTML kataloge / usr / share / nginx / html / klaidos / taip:

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

Dabar įveskite šias eilutes 404.HTML failą ir išsaugokite failą.

PUSLAPIS NERASTAS


GRĮŽK NAMO

Dabar paleiskite iš naujo Nginx paslaugą taip:

$ sudo systemctl paleiskite iš naujo „nginx“

Dabar pabandykite pasiekti neegzistuojantį kelią (http: // 192.168.20.175 / nopage.html) ir turėtumėte pamatyti atnaujintą klaidos puslapį.

Taip pat galite nustatyti klaidos puslapį kitiems HTTP būsenos kodams.

Taip pat galite nustatyti tą patį klaidos puslapį keliems HTTP būsenos kodams. Pavyzdžiui, norėdami nustatyti tą patį klaidos puslapį / 404.HTML HTTP būsenos kodams 403 ir 404, parašyti error_page parinktį taip:

klaidos_ puslapis 403 404/404.HTML;

Konfigūruoti žurnalus:

Nginx mieste error_log ir access_log parinktys naudojamos registruojant klaidos pranešimus ir prieigai prie informacijos.

Formatas error_log ir access_log yra:

error_log / path / to / error / log / file [neprivaloma: pasirinktinio žurnalo pavadinimas];
access_log / path / to / access / log / file [neprivaloma: pasirinktinis žurnalo pavadinimas];

Jei norite, galite nustatyti savo klaidų žurnalą ir pasiekti žurnalo formatus.

Norėdami tai padaryti, naudokite log_format parinktis http skyriuje, kad apibrėžtumėte savo pasirinktinį žurnalo formatą taip.

http

log_format simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent baitai';

serveris

access_log / var / log / nginx / prieiga.rąstas paprastas;


Čia yra žurnalo formato pavadinimas paprastas. Kai kurie „nginx“ kintamieji naudojami apibrėžiant pasirinktinį žurnalo formatą. Norėdami sužinoti apie visus „Nginx“ kintamuosius, apsilankykite „Nginx“ įterptųjų kintamųjų vadove.

Pasirinktinis žurnalo formatas turėtų būti pateikiamas vienose kabutėse. Žurnalo formatą galima apibrėžti vienoje arba keliose eilutėse. Parodžiau, kaip apibrėžti žurnalo formatą keliose eilutėse šiame straipsnyje. Jūs neturėsite jokių problemų dėl vienos eilutės žurnalo formato, patikėkite manimi!

Kai žurnalo formatas paprastas yra apibrėžtas, access_log Parinktis naudojama nurodyti „Nginx“ naudoti ją kaip prieigos žurnalą.

Tuo pačiu būdu galite nustatyti pasirinktinį klaidų žurnalo formatą naudodami error_log variantą.

Šiame straipsnyje sukonfigūravau tik pasirinktinį prieigos žurnalo formatą.

Dabar paleiskite iš naujo Nginx paslaugą taip:

$ sudo systemctl paleiskite iš naujo „nginx“

Dabar galite stebėti prieigos žurnalo failą taip:

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

Taip pat galite stebėti klaidų žurnalo failą taip:

$ sudo tail -f / var / log / nginx / error.žurnalas

Jei norite, galite stebėti prieigos ir klaidų žurnalo failus tuo pačiu metu taip:

$ sudo tail -f / var / log / nginx / klaida, prieiga.žurnalas

Kaip matote, naudojamas naujas prieigos žurnalo formatas.

Prieigos prie tam tikrų kelių atsisakymas:

Norėdami suderinti tam tikrus URI kelius ir uždrausti prieigą prie jo „Nginx“, galite naudoti įprastus posakius.

Tarkime, jūsų svetainę tvarko „Git“ ir norite uždrausti prieigą prie .git / katalogą savo žiniatinklio šaknyje.

Norėdami tai padaryti, įveskite šias eilutes serverio skyrius / etc / nging / nginx.konf failas:

serveris

vieta ~ \.git
neigti visus;


Kaip matote, prieiga prie bet kokio kelio, kuriame yra .git yra paneigta.

Suspaudimo konfigūravimas:

Galite suspausti žiniatinklio turinį prieš siųsdami juos į naršyklę naudodami gzip norint išsaugoti „Nginx“ tinklo serverio pralaidumo naudojimą.

Aš turiu keletą JPEG vaizdų / usr / share / nginx / html / images / kataloge.

Šiuos vaizdus galiu pasiekti naudodamas URI kelią /vaizdai.

Norėdami įgalinti gzip glaudinimą tik JPEG vaizdams, esantiems URI kelyje /vaizdai, įveskite šias eilutes serverio skyrius / etc / nginx / nginx.konf failą.

serveris

vieta / vaizdai
gzip įjungtas;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;


Čia, gzip_comp_level naudojama norint nustatyti suspaudimo lygį. Tai gali būti bet koks skaičius nuo 1 iki 9. Kuo aukštesnis lygis, tuo mažesnis bus suglaudintas failas.

Failas bus suglaudintas tik tuo atveju, jei failo dydis bus didesnis gzip_min_length. Šiame pavyzdyje nustatiau maždaug 100 KB. Taigi, mažesni nei 100 KB JPEG failai nebus suglaudinti.

The  gzip_types yra naudojamas suspaustų failų mime tipui nustatyti.

Mime tipą galite rasti iš failų plėtinių taip:

$ grep jpg / etc / nginx / mime.tipai

Kaip matote, už .JPG arba .JPEG failo plėtinys, „mime“ tipas yra vaizdas / JPEG.

Galite nustatyti vieną ar daugiau „mime“ tipų naudodami gzip_types variantą.

Jei norite nustatyti kelis „mime“ tipus, būtinai juos atskirkite tarpais taip:

"
gzip_types image / jpeg image / png image / gif;

Dabar paleiskite iš naujo Nginx paslaugą taip:

$ sudo systemctl paleiskite iš naujo „nginx“

Kaip matote, „Nginx“, kai paprašoma, į naršyklę siunčia suspausto vaizdo failus „gzip“.

Kaip matote toliau pateiktoje ekrano kopijoje, „gzip“ suglaudintas failas yra mažesnis nei pradinis failas.

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

Įgalinant HTTPS:

SSL „Nginx“ galite įgalinti labai lengvai. Šiame skyriuje aš jums parodysiu, kaip nustatyti savarankiškai pasirašytą SSL sertifikatą „Nginx“.

Pirmiausia eikite į / etc / ssl / katalogą taip:

$ cd / etc / ssl

Dabar sugeneruokite SSL raktą serverio.Raktas ir pažymėjimas serverio.krt su tokia komanda:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout
serverio.raktas-out serveris.krt

PASTABA: Tu privalai turėti openssl įdiegta, kad tai veiktų. Jei komanda „openssl“ negalima, įdiekite openssl su tokia komanda:

$ sudo dnf install openssl -y

Dabar įveskite savo 2 raidžių šalies kodą (t.e. JAV - JAV, JK - Jungtinei Karalystei, RU - Rusijai, CN - Kinijai) ir paspauskite .

Dabar įveskite savo valstijos / provincijos pavadinimą ir paspauskite .

Dabar įveskite savo miesto pavadinimą ir paspauskite .

Dabar įveskite savo įmonės pavadinimą ir paspauskite .

Dabar įveskite savo įmonės, kuri naudos šį sertifikatą, organizacinio vieneto pavadinimą ir paspauskite .

Dabar įveskite visiškai kvalifikuotą savo „Nginx“ tinklo serverio domeno vardą (FQDN) ir paspauskite . SSL sertifikatas galios tik tuo atveju, jei „Nginx“ žiniatinklio serveris pasiekiamas naudojant šį domeno vardą.

Dabar įveskite savo el. Pašto adresą ir paspauskite .

Jūsų SSL sertifikatas turėtų būti paruoštas.

SSL sertifikatas ir raktas turėtų būti sugeneruoti / etc / ssl / kataloge.

$ ls -lh

Dabar atidarykite „Nginx“ konfigūracijos failą / etc / nginx / nginx.konf ir pasikeisti klausyk uostas į 443 ir įveskite šias eilutes serverio skyrius.

serveris

ssl įjungtas;
ssl_certificate / etc / ssl / serveris.crt;
ssl_certificate_key / etc / ssl / server.Raktas;

Dabar paleiskite iš naujo Nginx paslaugą taip:

$ sudo systemctl paleiskite iš naujo „nginx“

Realiame gyvenime turėsite teisingą DNS sąranką. Bet bandymo tikslais sukonfigūravau vietinį failais pagrįstą domeno vardą kompiuteryje, iš kurio naudojuosi prieigai prie „Nginx“ tinklo serverio.

Jei norite sekti paskui, atidarykite / etc / hosts failą taip:

$ sudo nano / etc / hosts

Tada prie eilutės pridėkite šią eilutę / etc / hosts failą.

192.168.20.175 www.pavyzdys.com

Dabar pabandykite apsilankyti https: // www.pavyzdys.com ir turėtumėte pamatyti šį puslapį. Pamatysi Jūsų ryšys nėra saugus pranešimą, nes tai yra pačių pasirašytas sertifikatas. Tai tinka tik bandymams.

Realiame gyvenime įsigysite SSL sertifikatus iš sertifikavimo institucijų (CA) ir juos naudosite. Taigi, tokio tipo pranešimų nematysite.

Kaip matote, „Nginx“ tinklalapį aptarnavo per HTTPS. Taigi, SSL veikia.

SSL informacija apie www.pavyzdys.com.

HTTP užklausų peradresavimas į HTTPS:

Jei kas nors lankosi jūsų svetainėje naudodamas HTTP protokolą (http: // www.pavyzdys.com arba http: // 192.168.20.175) vietoj HTTPS (https: // www.pavyzdys.com), nenorite atmesti HTTP užklausos. Jei tai padarysite, prarasite lankytoją. Ką iš tikrųjų turėtumėte padaryti, yra nukreipti vartotoją į SSL įgalintą svetainę. Tai padaryti tikrai paprasta.

Pirmiausia atidarykite „Nginx“ konfigūracijos failą / etc / nginx / nginx.konf ir sukurti naują serverio skyriuje http skyrių taip:

http

serveris
klausytis 80;
serverio vardas www.pavyzdys.com;
grįžti 301 https: // www.pavyzdys.com $ request_uri;


Tai yra galutinis / etc / nginx / nginx.konf failas:

vartotojas nginx nginx;
darbuotojas_procesai auto;
error_log / var / log / nginx / error.žurnalas;
pid / run / nginx.pid;
įvykiai
darbininkas_jungimai 1024;

http
įtraukti / etc / nginx / mime.tipai;
default_type application / octet-stream;
log_format simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent baitai';
 
serveris
klausytis 80;
serverio vardas www.pavyzdys.com;
grįžti 301 https: // www.pavyzdys.com $ request_uri;

serveris
klausytis 443;
serverio vardas www.pavyzdys.com;
ssl įjungtas;
ssl_certificate / etc / ssl / serveris.crt;
ssl_certificate_key / etc / ssl / server.Raktas;
access_log / var / log / nginx / prieiga.rąstas paprastas;
vieta /
root / usr / share / nginx / html;
indekso indeksas.HTML;

vieta / vaizdai
gzip įjungtas;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;

klaidos_ puslapis 404/404.HTML;
vieta / 404.HTML
root / usr / share / nginx / html / klaidos;

vieta ~ \.git
neigti visus;


Dabar paleiskite iš naujo Nginx paslaugą taip:

$ sudo systemctl paleiskite iš naujo „nginx“

Dabar, jei bandysite pasiekti http: // 192.168.20.175 arba http: // www.pavyzdys.lt, būsite nukreipti į https: // www.pavyzdys.com.

Taigi, taip įdiegiate ir sukonfigūruojate „Nginx“ žiniatinklio serverį „CentOS 8“. Dėkojame, kad perskaitėte šį straipsnį.

Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...