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 aAz é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.
A 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ípusokMint 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 -keyoutszerver.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
Í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.