Tartalomjegyzék
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.