Nginx

Az Nginx telepítése és konfigurálása a CentOS 8 rendszeren

Az Nginx telepítése és konfigurálása a CentOS 8 rendszeren
Az Nginx egy gyors és könnyű webszerver. Az Nginx konfigurációs fájljai nagyon egyszerűek és könnyen kezelhetők. Nagyszerű alternatíva az Apache webkiszolgálóval szemben.  Ebben a cikkben bemutatom, hogyan kell telepíteni és konfigurálni az Nginx webszervert a CentOS 8 rendszeren. Tehát kezdjük.

Az Nginx telepítése:

Az Nginx elérhető a CentOS 8 hivatalos csomagtárában. Tehát nagyon könnyű telepíteni.

Először frissítse a DNF csomagtárház gyorsítótárát az alábbiak szerint:

$ sudo dnf makecache

Most telepítse az Nginx-et a következő paranccsal:

$ sudo dnf install nginx

A telepítés megerősítéséhez nyomja meg a gombot Y majd nyomja meg .

Az Nginxet telepíteni kell.

Az nginx szolgáltatás kezelése:

Alapértelmezés szerint, nginx szolgáltatás legyen inaktív (nem fut) és Tiltva (indításkor nem indul el automatikusan).

$ sudo systemctl status nginx

Elindíthatja a nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl start nginx

nginx szolgáltatás legyen futás.

$ sudo systemctl status nginx

Most add hozzá nginx szolgáltatás a rendszer indításához az alábbiak szerint:

$ sudo systemctl engedélyezze az nginx-et

A tűzfal beállítása:

Be kell állítania a tűzfalat, hogy engedélyezze a 80-as HTTP és a 443 HTTPS-port elérését, hogy az Nginx webkiszolgálóhoz hozzáférhessen a hálózat más számítógépeiről.

A következő paranccsal engedélyezheti a HTTP és HTTPS port elérését:

$ sudo tűzfal-cmd --add-service = http, https - állandó

Most, hogy a módosítások életbe lépjenek, futtassa a következő parancsot:

$ sudo firewall-cmd --reload

A webkiszolgáló tesztelése:

A hozzáféréshez ismernie kell az Nginx webkiszolgáló IP-címét vagy domainnevét.

Az Nginx webkiszolgáló IP-címét a következő paranccsal találhatja meg:

$ ip a

Az én esetemben az IP-cím az 192.168.20.175. Neked más lesz. Tehát mindenképpen cserélje le mostantól a sajátjára.

Most keresse fel a http: // 192 oldalt.168.20.175 böngészőjéből. A következő oldalt kell látnia. Ez azt jelenti, hogy az Nginx webszerver működik.

Az nginx konfigurációs fájljai:

A Nginx webkiszolgáló konfigurációs fájljai a / etc / nginx / Könyvtár.

$ tree / etc / nginx

/ etc / nginx / nginx.konf a fő Nginx konfigurációs fájl.

Az Nginx webszerver alapértelmezett webgyökérkönyvtára a / usr / share / nginx / html /. Tehát itt kell megőriznie a webhelyfájlokat.

Alapvető webkiszolgáló beállítása:

Ebben a részben bemutatom, hogyan állíthat be egy alapvető Nginx webkiszolgálót.

Először készítsen biztonsági másolatot az eredeti Nginx konfigurációs fájlról a következő paranccsal:

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

Most hozzon létre egy új Nginx konfigurációs fájlt az alábbiak szerint:

$ sudo nano / etc / nginx / nginx.konf

Írja be a következő sorokat a / etc / nginx / nginx.konf fájlt, és mentse a fájlt.

felhasználó nginx nginx;
worker_processes auto;
error_log / var / log / nginx / hiba.napló;
pid / run / nginx.pid;
 
események
dolgozó_csatlakozások 1024;

 
http
tartalmazza az / etc / nginx / mime fájlt.típusok;
default_type alkalmazás / octet-stream;
 
szerver
hallgat 80;
szerver_név példa.com www.példa.com;
root / usr / share / nginx / html;
index index.html;
access_log / var / log / nginx / hozzáférés.napló;

Itt, felhasználó opcióval állíthatja be az Nginx futtatni kívánt felhasználót és csoportot nginx illetőleg.

A error_log opcióval állítható be a hibanaplófájl elérési útja / var / log / nginx / hiba.napló. Itt tárolják az Nginx szerverrel kapcsolatos hibákat.

A fő Nginx szerver konfigurációt a szerver szakasz a http szakasz. Többet is definiálhat szerver szakasz a http szakasz, ha szükséges.

Ban,-ben szerver szakasz,

hallgat opcióval konfigurálható az Nginx, hogy hallgassa a 80-as portot (HTTP port) a webes kérésekhez.

szerver név opcióval egy vagy több tartománynevet állíthat be az Nginx webkiszolgálóhoz. Ha a DNS-beállításai helyesek, akkor az Nginx webkiszolgálóhoz ezen tartománynevek használatával férhet hozzá.

hozzáférés_napló a hozzáférési naplófájl elérési útjának beállítására szolgál / var / log / nginx / access.napló. Amikor valaki megpróbálja elérni az Nginx webkiszolgálót, a hozzáférési információkat (azaz.e. IP-cím, URL, HTTP állapotkód) naplózásra kerül ebbe a fájlba.

A elhelyezkedés opció az Nginx webszerver gyökérkönyvtárának beállítására szolgál.

Itt a gyökér könyvtár / usr / share / nginx / html /.

Itt kell megőrizni az összes webhelyfájlt. A index opciókészletek index.html alapértelmezett fájlként szolgál, ha nincs szükség külön fájlra. Például, ha ellátogat a http: // 192 oldalra.168.20.175 / myfile.html, akkor te Nginx visszatérsz myfile.html fájl. De ha ellátogat a http: // 192 oldalra.168.20.175 /, akkor az Nginx indexet küld Önnek.html fájlt, mivel nem kértek külön fájlt.

Most távolítsa el az összes fájlt a / usr / share / nginx / html / könyvtár (webgyökér) az alábbiak szerint:

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

Most hozzon létre egy újat index.html fájl a / usr / share / nginx / html / könyvtárat az alábbiak szerint:

Írja be a következő sorokat: index.html fájlt, és mentse a fájlt.

Helló Világ


© 2020 LinuxHint.com

Indítsa újra nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl indítsa újra az nginx fájlt

Most keresse fel a http: // 192 oldalt.168.20.175 böngészőjéből, és látnia kell a következő oldalt. gratula! Beállította első Nginx webszerverét.

Hibaoldalak konfigurálása:

A hibaoldalakat az Nginx-ben konfigurálhatja. Például, ha egy oldal / fájl / könyvtár nem érhető el, a 404 HTTP állapotkód visszakerül a böngészőbe. Beállíthat egy egyedi HTML hibalehetet a 404 HTTP állapotkódhoz, amelyet visszaküld a böngészőbe.

Ehhez adja hozzá a következő sort a szerver szakasza nginx.konf fájl.

szerver

hiba_oldal 404/404.html;

Most hozzon létre egy fájlt 404.html a Nginx webgyökérben / usr / share / nginx / html / alábbiak szerint:

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

Írja be a következő sorokat: 404.html és mentse a fájlt.

404-es hibakód


Az oldal nem található


© 2020 LinuxHint.com

Indítsa újra nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl indítsa újra az nginx fájlt

Most próbáljon meg hozzáférni egy nem létező útvonalhoz (http: // 192.168.20.175 / nopage.html), és látnia kell a következő hiba oldalt.

Ha a 404.html a fájl egy másik fájlrendszer-elérési útvonalon van (mondjuk / usr / share / nginx / html / hibák / könyvtár), feltérképezheti az URL-t / 404.html a következőképpen:

szerver

hiba_oldal 404/404.html;
hely / 404.html
root / usr / share / nginx / html / hibák;


Most készítsen egy új könyvtárat  / usr / share / nginx / html / hibák / alábbiak szerint:

$ sudo mkdir / usr / share / nginx / html / hibák

Most hozzon létre egy új fájlt 404.html a könyvtárban / usr / share / nginx / html / hibák / alábbiak szerint:

$ sudo nano / usr / share / nginx / html / hibák / 404.html

Írja be a következő sorokat a 404.html fájlt, és mentse a fájlt.

AZ OLDAL NEM TALÁLHATÓ


MENJ HAZA

Indítsa újra nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl indítsa újra az nginx fájlt

Most próbáljon meg hozzáférni egy nem létező útvonalhoz (http: // 192.168.20.175 / nopage.html), és látnia kell a frissített hiba oldalt.

Ugyanígy beállíthat hibalehetet más HTTP állapotkódokhoz is.

Ugyanazt a hibaoldalt beállíthatja több HTTP állapotkódhoz is. Például ugyanazon hibaoldal beállításához / 404.html a HTTP állapotkódokhoz 403 és 404, írja a hiba_oldal opció az alábbiak szerint:

hiba_oldal 403 404/404.html;

Naplók beállítása:

Nginxben a error_log és hozzáférés_napló Az opciók a hibaüzenetek naplózására és az információk elérésére szolgálnak.

A. Formátuma error_log és hozzáférés_napló lehetőségek:

error_log / path / to / error / log / file [opcionális: egyedi-log-név];
hozzáférési_napló / elérési út / hozzáférés / napló / fájl [opcionális: egyedi napló-név];

Ha akarja, meghatározhatja saját hibanaplóját és hozzáférési naplóformátumokat.

Ehhez használja a log_format opció a http szakaszban határozhatja meg az egyéni naplóformátumot az alábbiak szerint.

http

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

szerver

access_log / var / log / nginx / hozzáférés.napló egyszerű;


Itt a napló formátum neve egyszerű. Néhány nginx változót használunk az egyéni naplóformátum meghatározásához. Látogasson el a Nginx beágyazott változók kézikönyvébe, ahol megismerheti az összes Nginx változót.

Az egyéni naplóformátumot egyetlen idézőjelben kell feltüntetni. A napló formátum meghatározható egyetlen sorban vagy több sorban. Ebben a cikkben bemutattam, hogyan lehet több sorban meghatározni a napló formátumát. Nem lesz gondja az egysoros naplóformátummal, hidd el!

Miután a napló formátuma egyszerű meg van határozva, hozzáférés_napló Az opcióval megadhatjuk az Nginx-nek, hogy használja hozzáférési naplóként.

Ugyanígy beállíthat egy egyedi hibanapló formátumot is a error_log választási lehetőség.

Csak a napló formátumát konfiguráltam a hozzáférési naplóhoz ebben a cikkben.

Indítsa újra nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl indítsa újra az nginx fájlt

Most a következőképpen figyelheti a hozzáférési naplófájlt:

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

A hibanaplófájlt az alábbiak szerint is figyelheti:

$ sudo tail -f / var / log / nginx / hiba.napló

Ha akarja, az alábbiak szerint figyelheti egyszerre a hozzáférési és a hibanapló-fájlokat:

$ sudo tail -f / var / log / nginx / hiba, hozzáférés.napló

Mint láthatja, az új hozzáférési napló formátumot használják.

Bizonyos útvonalakhoz való hozzáférés megtagadása:

Rendszeres kifejezéseket használhat bizonyos URI útvonalak egyeztetésére és az Nginx-ben való megtagadására.

Tegyük fel, hogy a webhelyét a Git kezeli, és meg szeretné tagadni a .git / könyvtárat a webgyökéren.

Ehhez írja be a következő sorokat a szerver szakasza / etc / nging / nginx.konf fájl:

szerver

hely ~ \.git
tagadj meg mindent;


Mint láthatja, hozzáférés minden olyan útvonalhoz, amely tartalmazza .git megtagadják.

A tömörítés konfigurálása:

A webes tartalmat tömörítheti, mielőtt a böngészőbe küldené gzip hogy mentse az Nginx webkiszolgáló sávszélesség-használatát.

Van néhány JPEG képem a / usr / share / nginx / html / images / Könyvtár.

Ezekhez a képekhez az URI elérési útvonalon férek hozzá / images.

A gzip-tömörítés engedélyezése csak az URI-elérési út JPEG-képeihez / images, írja be a következő sorokat a szerver szakasza / etc / nginx / nginx.konf fájl.

szerver

hely / képek
gzip on;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;


Itt, gzip_comp_level a tömörítési szint beállítására szolgál. Bármely szám lehet 1-től 9-ig. Minél magasabb a szint, annál kisebb lesz a tömörített fájl.

A fájl csak akkor lesz tömörítve, ha a fájl mérete nagyobb gzip_min_length. Ebben a példában kb. 100 KB-ra állítottam be. Tehát a 100 KB-nál kisebb JPEG fájlok nem lesznek tömörítve.

gzip_types a tömörítendő fájlok mime típusának beállítására szolgál.

A mime típus a fájlkiterjesztésekből az alábbiak szerint található meg:

$ grep jpg / etc / nginx / mime.típusok

Mint láthatja, a .jpg vagy .jpeg fájlkiterjesztés, a mime típusa kép / JPEG.

A gombbal beállíthat egy vagy több mime típust gzip_types választási lehetőség.

Ha több mime-típust szeretne beállítani, ne felejtse el elválasztani őket szóközökkel az alábbiak szerint:

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

Indítsa újra nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl indítsa újra az nginx fájlt

Mint látható, az Nginx kérésre gzip tömörített képfájlokat küld a böngészőbe.

Amint az alábbi képernyőképen látható, a tömörített gzip fájl kisebb, mint az eredeti fájl.

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

HTTPS engedélyezése:

Nagyon egyszerűen engedélyezheti az SSL-t az Nginx-ben. Ebben a részben bemutatom, hogyan állíthat be önaláírt SSL tanúsítványt Nginx-ben.

Először navigáljon a / etc / ssl / könyvtárat az alábbiak szerint:

$ cd / etc / ssl

Most hozzon létre egy SSL kulcsot szerver.kulcs és igazolás szerver.katódsugárcső a következő paranccsal:

$ sudo openssl req -x509 -node -days 365 -newkey rsa: 2048 -keyout
szerver.kulcs -out szerver.katódsugárcső

JEGYZET: Meg kell openssl telepítve van. Ha az openssl parancs nem érhető el, telepítse openssl a következő paranccsal:

$ sudo dnf install openssl -y

Írja be a kétbetűs országkódot (i.e. USA az Egyesült Államoknak, az Egyesült Királyság az Egyesült Királyságnak, az RU Oroszországnak, CN a Kínának) és nyomja meg a gombot .

Írja be az állam / tartomány nevét, és nyomja meg az gombot .

Írja be a város nevét és nyomja meg a gombot .

Írja be a vállalat nevét, és nyomja meg az gombot .

Írja be vállalatának szervezeti egységének nevét, amely ezt a tanúsítványt fogja használni, majd nyomja meg az gombot .

Írja be az Nginx webkiszolgáló teljesen minősített tartománynevét (FQDN), majd nyomja meg az gombot . Az SSL tanúsítvány csak akkor lesz érvényes, ha az Nginx webkiszolgálót ezzel a tartománynévvel érik el.

Írja be az e-mail címét és nyomja meg a gombot .

SSL-tanúsítványának készen kell lennie.

Az SSL tanúsítványt és kulcsot a / etc / ssl / Könyvtár.

$ ls -lh

Most nyissa meg az Nginx konfigurációs fájlt / etc / nginx / nginx.konf és változtass hallgat kikötő 443 és írja be a következő sorokat a szerver szakasz.

szerver

ssl be;
ssl_certificate / etc / ssl / server.katódsugárcső;
ssl_certificate_key / etc / ssl / server.kulcs;

Indítsa újra nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl indítsa újra az nginx fájlt

A való életben helyes DNS-beállítást kell megadnia. De tesztelési célból konfiguráltam a helyi fájl alapú tartománynevet azon a számítógépen, amelyet az Nginx webszerver elérésére használtam.

Ha követni akarja, nyissa meg a / etc / hosts fájl az alábbiak szerint:

$ sudo nano / etc / hosts

Ezután adja hozzá a következő sort a / etc / hosts fájl.

192.168.20.175 www.példa.com

Most próbálja meg felkeresni a https: // www oldalt.példa.com és látnia kell a következő oldalt. Meglátod A kapcsolat nem biztonságos üzenetet, mert ez egy önaláírt tanúsítvány. Ez csak tesztelési célokra jó.

A való életben SSL-tanúsítványokat vásárol a tanúsító hatóságoktól (CA), és használja azokat. Tehát nem fog látni ilyen típusú üzeneteket.

Mint látható, az Nginx a weboldalt HTTPS-en keresztül szolgáltatta. Tehát az SSL működik.

A www. SSL-információi.példa.com.

HTTP-kérelmek átirányítása HTTPS-re:

Ha valaki HTTP protokollon keresztül látogatja meg a webhelyét (http: // www.példa.com vagy http: // 192.168.20.175) HTTPS helyett (https: // www.példa.com), akkor nem akarja elutasítani a HTTP kérést. Ha ezt megteszi, elveszíti a látogatót. Valójában meg kell tennie, hogy átirányítja a felhasználót az SSL-kompatibilis webhelyre. Nagyon egyszerű megtenni.

Először nyissa meg az Nginx konfigurációs fájlt / etc / nginx / nginx.konf és hozzon létre egy újat szerver szakasz a http szakasz az alábbiak szerint:

http

szerver
hallgat 80;
szerver_neve www.példa.com;
visszatérés 301 https: // www.példa.com $ request_uri;


Ez a végső / etc / nginx / nginx.konf fájl:

felhasználó nginx nginx;
worker_processes auto;
error_log / var / log / nginx / hiba.napló;
pid / run / nginx.pid;
események
dolgozó_csatlakozások 1024;

http
tartalmazza az / etc / nginx / mime fájlt.típusok;
default_type alkalmazás / octet-stream;
log_format simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
 
szerver
hallgat 80;
szerver_neve www.példa.com;
visszatérés 301 https: // www.példa.com $ request_uri;

szerver
hallgatni 443;
szerver_neve www.példa.com;
ssl be;
ssl_certificate / etc / ssl / server.katódsugárcső;
ssl_certificate_key / etc / ssl / server.kulcs;
access_log / var / log / nginx / hozzáférés.napló egyszerű;
hely /
root / usr / share / nginx / html;
index index.html;

hely / képek
gzip on;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types image / jpeg;

hiba_oldal 404/404.html;
hely / 404.html
root / usr / share / nginx / html / hibák;

hely ~ \.git
tagadj meg mindent;


Indítsa újra nginx szolgáltatás az alábbiak szerint:

$ sudo systemctl indítsa újra az nginx fájlt

Most, ha megpróbálja elérni a http: // 192 fájlt.168.20.175 vagy http: // www.példa.com, akkor át lesz irányítva a https: // www.példa.com.

Így telepíti és konfigurálja az Nginx webszervert a CentOS 8-on. Köszönjük, hogy elolvasta ezt a cikket.

A legjobb játékok kézi követéssel
Az Oculus Quest nemrégiben bemutatta a vezérlés nélküli kézi követés nagyszerű ötletét. Az egyre növekvő számú játékkal és tevékenységgel, amelyek tám...
Az OSD-fedvény megjelenítése teljes képernyős Linux-alkalmazásokban és játékokban
Teljes képernyős játékok lejátszása vagy alkalmazások figyelemelterelés nélküli, teljes képernyős módban történő használata elvághatja a panelen vagy ...
Az 5 legjobb játékrögzítő kártya
Mindannyian láttuk és szerettük a YouTube-on a streaming játékokat. A PewDiePie, a Jakesepticye és a Markiplier csak néhány a legnépszerűbb játékosok ...