NestJS alkalmazás telepítése Nginx-szel Ubuntu VPS-en

NestJS Alkalmazás Telepítése Nginx-szel Ubuntu VPS-en

A NestJS egy robusztus és népszerű Node.js keretrendszer backend fejlesztéshez, amely TypeScript-et használ. Az Nginx egy nagy teljesítményű nyílt forráskódú webszerver, melyet gyakran használnak Node.js alkalmazások kiszolgálására. Az Ubuntu VPS egy költséghatékony és rugalmas platform, amely ideális a NestJS alkalmazások futtatásához.

Ebben az útmutatóban lépésről lépésre bemutatjuk, hogyan telepítsünk egy NestJS alkalmazást egy Nginx webszerverrel egy Ubuntu VPS-en. Megmutatjuk, hogyan hozunk létre egy új NestJS alkalmazást, hogyan telepítjük az Nginx-t, hogyan konfiguráljuk az Nginx-t a NestJS alkalmazás kiszolgálásához, és hogyan indítjuk el az alkalmazást a VPS-en.

1. Bevezetés

A NestJS egy backend fejlesztésre fókuszáló keretrendszer, amely Node.js-en és TypeScript-en alapul. Ez lehetővé teszi a strukturált és skálázható alkalmazások létrehozását. Az Nginx egy népszerű webszerver, amelyet széles körben használnak a weboldalak és alkalmazások kiszolgálásához. A hatékonysága és a rugalmassága miatt a Node.js alkalmazások számára is ideális választás. Az Ubuntu VPS egy Linux alapú virtualizált szerver, amely lehetővé teszi az operációs rendszer és a szoftverek rugalmas telepítését és konfigurálását.

Ebben az útmutatóban a következőket fogjuk megtenni:

* Telepítjük az Ubuntu VPS-t.
* Telepítjük a Node.js-t és a npm-t.
* Létrehozunk egy új NestJS alkalmazást.
* Telepítjük az Nginx-t.
* Konfiguráljuk az Nginx-t a NestJS alkalmazás kiszolgálásához.
* Indítjuk el a NestJS alkalmazást a VPS-en.

2. VPS Telepítése és Előkészítése

Az első lépés egy Ubuntu VPS telepítése. Számos VPS szolgáltató áll rendelkezésre, mint például a DigitalOcean, a Linode, a Vultr és az Amazon EC2. Válassza ki a kívánt szolgáltatót és hozza létre a VPS-t. A telepítési folyamat egyszerűen követhető a szolgáltató által biztosított útmutató alapján.

Miután a VPS telepítve van, SSH-n keresztül csatlakozzon hozzá. Ezt az SSH kliensét használva teheti meg, például a Putty-t vagy a Terminal-t. A VPS-hez való csatlakozáshoz használja a VPS-hez tartozó IP-címet és a felhasználói nevet/jelszót.

3. Node.js és npm Telepítése

A NestJS alkalmazás futtatásához Node.js és npm szükséges. Ez a két szoftvercsomag már telepítve lehet az Ubuntu VPS rendszeren, de ellenőrizze a verziójukat és frissítse őket, ha szükséges.

A Node.js és az npm telepítése a következő paranccsal történik:

bash
sudo apt update
sudo apt install nodejs npm

A telepítés befejezése után ellenőrizze a Node.js és az npm verzióját a következő parancsokkal:

bash
node -v
npm -v

4. Új NestJS Alkalmazás Létrehozása

Most hozzon létre egy új NestJS alkalmazást. Ehhez használja a Nest CLI-t. Ha még nincs telepítve, telepítse a következő paranccsal:

bash
npm install -g @nestjs/cli

Miután a CLI telepítve van, hozzon létre egy új NestJS alkalmazást a következő paranccsal:

bash
nest new my-nestjs-app

Ez létrehoz egy my-nestjs-app nevű mappát, amely tartalmazza az összes szükséges fájlt és könyvtárat a NestJS alkalmazáshoz.

5. Nginx Telepítése és Konfigurálása

Az Nginx egy népszerű webszerver, amelyet széles körben használnak Node.js alkalmazások kiszolgálásához. Telepítse az Nginx-t az Ubuntu VPS-en a következő paranccsal:

bash
sudo apt update
sudo apt install nginx

A telepítés befejezése után indítsa el az Nginx-t és adja hozzá az automatikus indításhoz a következő parancsokkal:

bash
sudo systemctl start nginx
sudo systemctl enable nginx

Most konfigurálja az Nginx-t a NestJS alkalmazás kiszolgálásához. Ehhez hozzon létre egy új konfigurációs fájlt az /etc/nginx/sites-available könyvtárban:

bash
sudo nano /etc/nginx/sites-available/my-nestjs-app

A fájlba illessze be a következő konfigurációt:

nginx
server {
listen 80;
server_name your-domain.com;

location / {
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Csere your-domain.com a saját domain nevével. Ezután aktiválja a konfigurációs fájlt az /etc/nginx/sites-enabled könyvtárba való szimbolikus link létrehozásával:

bash
sudo ln -s /etc/nginx/sites-available/my-nestjs-app /etc/nginx/sites-enabled/

Végül indítsa újra az Nginx-t a konfigurációs változás alkalmazásához:

bash
sudo systemctl reload nginx

6. NestJS Alkalmazás Futtatása

Most futtassa a NestJS alkalmazást a VPS-en. Szerezzen be egy terminált és navigáljon a NestJS projektkönyvtárába:

bash
cd my-nestjs-app

Ezután indítsa el a fejlesztési szervert:

bash
npm run start:dev

A NestJS alkalmazás most már fut és elérhető a http://your-domain.com címen.

7. A NestJS Alkalmazás Üzembehelyezése

A NestJS alkalmazás fejlesztési módban való futtatása a debugolás és a gyors fejlesztési ciklusokhoz ideális. Azonban egy termelési környezetben az alkalmazásnak optimalizáltnak és biztonságosnak kell lennie.

A termelési környezetben való futtatáshoz a NestJS alkalmazást a következő módon helyezheti üzembe:

1. Buildable: A NestJS alkalmazás build-elhető, ami optimalizált kódot generál a termelési környezethez. A build-elést a következő paranccsal végezheti el:

bash
npm run build:prod

2. Node.js Process Manager: A Node.js alkalmazások biztonságos és megbízható futtatása érdekében ajánlott egy process manager használata. A process manager felügyeli az alkalmazás futását, újraindítja azt, ha leáll, és biztosítja a folyamatos működést. Néhány népszerű process manager:

* PM2: https://pm2.keymetrics.io/
* Forever: https://www.npmjs.com/package/forever

A process manager telepítése és konfigurálása az alkalmazás futtatásához a választott process manager dokumentációjában van leírva.

3. Nginx Konfiguráció: Az Nginx konfigurációs fájlban a proxy_pass utasításhoz megadott portnak meg kell egyeznie a Node.js alkalmazás által használt porttal. A Node.js alkalmazás által használt port a package.json fájlban található start:prod scriptben van meghatározva.

8. Következtetés

Ebben az útmutatóban megismertük, hogyan telepítsünk egy NestJS alkalmazást egy Nginx webszerverrel egy Ubuntu VPS-en. A telepítési folyamatot lépésről lépésre bemutattuk, beleértve a Node.js, npm, Nginx telepítését és konfigurálását. Továbbá megbeszéltük az alkalmazás üzembehelyezésének fontos lépéseit is.

A NestJS egy hatékony és rugalmas keretrendszer a backend fejlesztéshez, amely számos funkciót és eszközt kínál a modern alkalmazások létrehozásához. Az Nginx egy megbízható és nagy teljesítményű webszerver, amely tökéletesen alkalmas a Node.js alkalmazások kiszolgálására. Az Ubuntu VPS egy költséghatékony és skálázható platform, amely ideális a NestJS alkalmazások futtatásához.

A NestJS alkalmazás telepítése és üzembehelyezése a VPS-en egy viszonylag egyszerű folyamat, amely lehetővé teszi a Node.js alkalmazások hatékony és megbízható futtatását.

Gyakori Kérdések

1. Milyen VPS szolgáltatót ajánl?

Számos VPS szolgáltató áll rendelkezésre, de a legelterjedtebb és népszerűek a DigitalOcean, Linode, Vultr és Amazon EC2. Válasszon egyet, amelyik megfelel az igényeinek és költségvetésének.

2. Milyen Node.js verziót használjak?

A NestJS legújabb verziója általában a Node.js legújabb LTS verzióját támogatja. Azt javaslom, hogy telepítse a Node.js legújabb LTS verzióját.

3. Hogyan frissíthetem a Node.js és az npm verzióját?

A Node.js és az npm frissítése a következő paranccsal történik:

bash
sudo apt update
sudo apt upgrade nodejs npm

4. Miért van szükség a process managerekre?

A process managerek felügyelik az alkalmazás futását, újraindítják azt, ha leáll, és biztosítják a folyamatos működést.

5. Milyen process manager-t válasszak?

A PM2 és a Forever népszerű process managerek, amelyeket a Node.js alkalmazások kezelésére lehet használni.

6. Hogyan konfigurálhatom az Nginx-et a forgalom átirányításához egy másik portra?

Az Nginx konfigurációs fájlban módosíthatja a proxy_pass utasításban szereplő portot. Például:

nginx
proxy_pass http://localhost:3001/;

7. Hogyan tudok egyéni domain nevet használni a NestJS alkalmazáshoz?

A domain nevet a VPS-hez kell társítani, és az Nginx konfigurációs fájlban az server_name utasításban megadni.

8. Hogyan tudok SSL tanúsítványt telepíteni az Nginx-re?

Az SSL tanúsítvány telepítéséhez a Let’s Encrypt vagy más SSL tanúsítvány szolgáltató segítségével generálhat egy tanúsítványt és telepítheti azt az Nginx-re.

9. Milyen a NestJS alkalmazás biztonsága a VPS-en?

A VPS-en futó NestJS alkalmazás biztonsága függ az alkalmazás kódjától és a VPS konfigurációjától. Ajánlott a biztonsági frissítések telepítése, a jelszavak erőssége és a tűzfalszabályok konfigurálása.

10. Hogyan optimalizálhatom a NestJS alkalmazás teljesítményét a VPS-en?

A teljesítmény optimalizálása számos lépést foglalhat magában, például a Node.js alkalmazás kódjának optimalizálását, a megfelelő cache-elés használatát, a VPS erőforrásainak optimalizálását és az Nginx konfigurációjának finomhangolását.