Az Nginx telepítése Ubuntu 20.04 LTS-re

Teljes, lépésről lépésre útmutató az Nginx webszerver telepítéséhez és beállításához Ubuntu 20.04 rendszeren

Az Nginx egy nyílt forráskódú és népszerű fordított proxy webszerver, amely több platformon is elérhető. A szoftvert fejlesztette Igor Sysoev A C10K probléma a tízezer kliens egyidejű kezelésének problémája, ami a 2000-es évek elején nem volt egyszerű.

Ebben az oktatóanyagban megvizsgáljuk, hogyan kell telepíteni és beállítani az Nginxet az Ubuntu 20.04 LTS rendszeren.

Előfeltételek

Egy rendszer, amelyen az Ubuntu 20.04 telepítve van, és a sudo felhasználó. Ezenkívül nem kell más webszervernek lennie, például a 80-as vagy 443-as porton futó Apache-nak.

Az Nginx telepítése

Az Nginx elérhető az Ubuntu 20.04 lerakatában és alkalmas csomagkezelővel telepíthető. Tehát az Nginx telepítéséhez nyissa meg a terminált a segítségével ctrl+alt+t és fuss:

sudo apt frissítés && sudo apt install nginx

A telepítés hamarosan befejeződik, és az Nginx démon automatikusan elindul a háttérben. Tehát az Nginx állapotának ellenőrzéséhez futtassa:

sudo systemctl állapota nginx

A fenti parancs futtatása után meg kell kapnia az Nginx állapotát aktív (futó) zöldben, ahogy lentebb látható.

Az Ubuntu tűzfal (UFW) konfigurálása

Alapértelmezés szerint a HTTP (80) és a HTTPS (443) kimenő portok zárva vannak az Ubuntu 20.04-ben. Ezenkívül az alapértelmezett tűzfaldémon ufw le van tiltva, mivel az összes port zárva van.

Így az Nginx szerver más rendszerekről való eléréséhez engedélyeznie kell a ufw és megfelelően állítsa be, hogy engedélyezze a forgalmat a porton 80 és 443. Mielőtt engedélyezné ufw, tudja, hogy ha az Nginx-et távoli kiszolgálón állítja be, először frissítse a ufw szabályok lehetővé teszik ssh futással:

sudo ufw engedélyezi az ssh-t

A fenti parancs lehetővé teszi a ssh hozzáférést a távoli szerverhez, anélkül, hogy engedélyeznénk ssh ki lesz zárva a távoli szerverről.

Az engedélyezés után ssh hozzáférést, engedélyezheti a ufw tűzfal démon futtatásával:

sudo ufw engedélyezése

Most meg kell változtatnia a tűzfalszabályokat, hogy engedélyezze a HTTP és HTTPS portokat, hogy az Nginx kiszolgálhassa a webes forgalmat. A szabályok módosításához futtassa:

sudo ufw engedélyezi az 'Nginx Full'-t

Nginx teljes lehetővé teszi mind a HTTP-, mind a HTTPS-portokat az összes IP-címről érkező és kimenő forgalom számára.

Ezt követően ellenőrizze, hogy a szabályok megfelelően vannak-e hozzáadva ufw tűzfalat a következő parancs futtatásával:

sudo ufw állapot

A fenti parancs kiírja azokat a szabályokat, amelyeket hozzáadtunk ufw tűzfal démon.

Csatlakozás az Nginx szerverhez

Most, hogy telepítettük és konfiguráltuk az Nginx-et ufw a bejövő HTTP és HTTPS webes forgalom engedélyezéséhez hozzá kell férnie az Nginx szerverhez a szerver IP-címének használatával.

Ha nem ismeri a szerver IP-címét, használja az alábbi parancsot a könnyű lekéréshez.

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Miután megkapta az IP-címet, illessze be a böngészőbe, és nyomja meg az Enter billentyűt.

//szerver-ip

Ha mindent megfelelően konfigurált, akkor látnia kell az „Üdvözöljük az nginxben!” weboldalt.

Nginx fájlok és könyvtárak

Most, hogy az Nginx telepítve van és fut a szerverén. Vessünk egy pillantást néhány fontos Nginx-fájlra és -könyvtárra, amelyeket a webhelye/webalkalmazása konfigurálásához kell használnia.

Webszerver Tartalom

Bármilyen helyet beállíthat, amely a kiszolgálóblokk gyökérkönyvtára legyen. Az Nginx alapértelmezett HTML-je közvetlenül az /var/www/html, itt található az „üdvözlő” oldal, amelyet korábban elértünk.

Egyéb helyek, amelyeket általában a domainek gyökérkönyvtáraként használnak, a következők:

  • /itthon//
  • /var/www/html/
  • /dönt/

Nginx konfigurációs fájlok

Az összes Nginx konfigurációs fájl itt található /etc/nginx Könyvtár. Nézzünk meg néhány fontos fájlt, amelyekre szükségünk van egy alapvető domain beállításához.

  • /etc/nginx/nginx.conf: Ez a fájl tartalmazza az Nginx futtatásához szükséges összes konfigurációt.
  • /etc/nginx/sites-available/: Ez a könyvtár tartalmazza a tartományok összes szerverblokk-konfigurációját, de jelenleg nincs engedélyezve/telepítve, így az ügyfelek nem érhetik el.
  • /etc/nginx/sites-enabled/: Ebben a könyvtárban találhatók az ügyfelek által elérhető, jelenleg aktív/engedélyezett tartományok. Egy tartomány engedélyezéséhez össze kell kapcsolnunk a tartománykonfigurációs fájlt oldalak – elérhetők hoz webhelyek engedélyezése Könyvtár.
  • /etc/nginx/snippets/: Ebben a könyvtárban tárolhatjuk a konfiguráció újrafelhasználható szegmenseit. Rengeteg időt takarít meg az éles környezetben, mivel a konfiguráció szegmenseit/blokkjait újra felhasználhatóvá teszi.

Szervernaplók

Az Nginx naplózza az eseményeket/tevékenységeket, és naplófájlokban tárolja őket a /var/log/nginx Könyvtár. Az Nginx a következő fájlokban naplózza a tevékenységeket:

  • /var/log/nginx/access.log: Ez a fájl naplózza azokat az ügyfeleket, akik hozzáfértek az Nginx szerverhez. A részletek közé tartozik a kliens IP-címe, idő és dátum, a szerver eléréséhez használt böngésző és az operációs rendszer.
  • /var/log/nginx/error.log: Ez a fájl naplózza az Nginx szerver által futás közben tapasztalt hibákat.

Tehát ebben a részben röviden áttekintettünk néhány fontos Nginx fájlt és könyvtárat, amelyek elegendőek a kezdéshez.

Szerverblokkok beállítása

Most, hogy rendelkezünk néhány alapvető tudással az Nginx fájlokról és a szerverről, készen állunk saját szerverblokk létrehozására. A szerverblokkok hasonlóak az Apache virtuális gazdagépekhez.

Megnézzük, hogyan hozhatunk létre szerverblokkot, és bemutatjuk, hogy miként fogjuk használni example.com mint domain a létrehozási folyamatban.

💡 Csere example.com a domain nevével.

Mielőtt elkezdené a kiszolgálóblokkok konfigurálását, létre kell hoznunk egy könyvtárat, amely a webhelytartalom gyökérkönyvtáraként szolgál. Alkossunk /var/www/example.com/html könyvtárat használó tartományhoz mkdir parancs.

sudo mkdir -p /var/www/example.com/html

A -o opció létrehozza az összes szükséges szülőkönyvtárat. Vagyis teremteni fog example.com egy szülőkönyvtárat html ha nem létezik.

Módosítsa a címtár tulajdonjogát a $USER környezeti változó:

sudo chown -R $USER:$USER /var/www/example.com/html

Ezután hozzon létre egy egyszerűt index.html fájl, amelyhez akkor fog hozzáférni, amikor meglátogatja a konfigurálandó tartományt. Ez csak magyarázó célt szolgál.

nano /var/www/example.com/html/index.html

Illessze be a következő tartalmat a szerveren most létrehozott fájlba.

  Üdvözöljük az example.com oldalon! 

Jaj! Az example.com elérhető!

nyomja meg ctrl+o írni és menteni a index.html fájlt, majd nyomja meg a gombot ctrl+x kilépni nano szerkesztő.

Most végre rátérhetünk egy szerverblokk létrehozására, hogy az Nginx ki tudja szolgálni a index.html amikor néhány felhasználó odamegy example.com. Tehát egy szerverblokk létrehozásához létre kell hoznunk egy nevű konfigurációs fájlt example.com ban ben oldalak – elérhetők Könyvtár. Ehhez a nano-t használjuk, és futtassuk:

sudo nano /etc/nginx/sites-available/example.com

Ezután írja be, vagy másolja/illessze be a következő konfigurációt. Ezután nyomja meg ctrl+o és írja be és mentse. Hasonlóképpen nyomja meg ctrl+x a nano szerkesztő bezárásához.

szerver { figyelj 80; figyelj [::]:80; szerver_neve example.com www.example.com; root /var/www/example-domain.com/html; index index.html; hely / { try_files $uri $uri/ =404; } }

A fenti konfiguráció hasonló az alapértelmezett szerverblokk konfigurációhoz, változtattunk gyökér utasítással az új gyökérkönyvtárunkra mutat, és megváltoztatta a szerver név domain nevünkre. Amíg a elhelyezkedés{} Az utasítás hibafogási utasításként szolgál, ha a fájlok nem találhatók, és a 404-es hibát jeleníti meg az ügyfél számára.

Ezután engedélyezhetjük a szerverblokkunkat, hogy az Nginx működjön example.com weboldalak. A szerverblokk engedélyezéséhez létre kell hoznunk egy szimbolikus hivatkozást example.com fájltól oldalak – elérhetők nak nek webhelyek engedélyezése Könyvtár. Ehhez futtassa:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled

A link létrejön a következő helyen webhely-engedélyezett könyvtár és most example.com engedélyezni kell. Most már két szerverblokk van engedélyezve az Nginx szerverünkön, amelyek alapján válaszol a kérésre hallgat és szerver_neve helyen mentett direktívák example.com szerver blokk konfigurációja.

Annak ellenőrzéséhez, hogy az összes konfigurációs fájl helyes-e, és nincs-e szintaktikai hiba, futtassa:

sudo nginx -t

Most végre indítsa újra az Nginxet a módosítások alkalmazásához a következő parancs futtatásával:

sudo systemctl indítsa újra az nginx-et

Az Nginx most elkezdi kiszolgálni a szerverblokkot, ugorhat ide //domain-neve és élőben tekintheti meg weboldalát.

Jegyzet: Ahhoz, hogy a fenti szakasz működjön, be kell állítania saját domainjét, és le kell cserélnie example.com saját domain névvel. Ezenkívül be kell állítania a DNS-t a domainhez, hogy az Nginx-kiszolgáló IP-címére mutasson.

Befejezésül megnéztük, hogyan kell telepíteni az Nginxet, konfigurálni ufw hogy lehetővé tegye a távoli hozzáférést az Nginx szerverhez, távolról csatlakozva az Nginx-hez, megismerkedett néhány alapvető Nginx fájllal és könyvtárral, és megtanulta a szerverblokk beállítását.

Ha többet szeretne tudni az Nginxről, érdemes megnéznie az Nginx wikit.