Преглед садржаја
Како распоредити NestJS апликацију са Nginx-ом на Ubuntu VPS-у
У овом чланку ћемо се бавити распоређивањем ваше NestJS апликације на Ubuntu VPS серверу уз помоћ Nginx-а као проксија сервера. Nginx је моћан и ефикасан веб сервер познат по својој изврсној перформанси и скалабилности, идеалан за руковање високим прометом и захтевним апликацијама.
Увод: Зашто користити NestJS и Nginx?
NestJS је оквир за изградњу ефикасних и скалабилних Node.js апликација, који користи TypeScript за писање типа сигурних кодова. NestJS вам доноси структуру и организацију кода, олакшава тестирање и одржавање, и нуди вам могућност да креирате високо перформантне веб апликације, REST API-је, Microservices и много тога друго.
С друге стране, Nginx је моћан и флексибилан веб сервер који се може користити као реверс прокси, веб сервер, кеш сервер, и још много тога. Nginx је познат по својој ефикасности, скалабилности и способности да обради велики промет, што га чини идеалним избором за ваше NestJS апликације.
Кораци за распоређивање NestJS апликације са Nginx-ом на Ubuntu VPS-у
1. Припрема VPS сервера
* Инсталирајте Ubuntu VPS: Започните са чистом инсталацијом Ubuntu VPS-а.
* Ажурирајте систем: Користите командну линију да ажурирате Ubuntu систем:
bash
sudo apt update && sudo apt upgrade -y
* Инсталирајте Node.js: Користите менеџер пакета npm (Node Package Manager) да бисте инсталирали Node.js:
bash
sudo apt install nodejs npm -y
* Провера верзије: Проверите верзију Node.js:
bash
node -v
npm -v
2. Инсталирајте Nginx
* Инсталирајте Nginx: Користите командну линију да бисте инсталирали Nginx:
bash
sudo apt install nginx -y
* Проверите стање: Проверите да ли је Nginx у функцији:
bash
sudo systemctl status nginx
3. Конфигурисајте Nginx
* Отворите конфигурациону датотеку:
bash
sudo nano /etc/nginx/sites-available/default
* Додајте блокове за Nginx:
nginx
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
објашњење:
* listen 80;
– Одређује порт на коме ће Nginx слушати (80 је стандардни HTTP порт).
* server_name your-domain.com;
– Замените your-domain.com
са вашим доменом.
* proxy_pass http://localhost:3000;
– Преусмерава захтеве на ваш NestJS сервер на порту 3000 (проверите да ли је то прави порт за вашу апликацију).
* proxy_http_version 1.1;
– Користи HTTP/1.1 протокол за проксирање.
* proxy_set_header...
– Поставља заглавља за проксирање.
* Сачувајте и затворите датотеку.
4. Покрените Nginx:
bash
sudo systemctl restart nginx
5. Распоредите NestJS апликацију
* Изградите NestJS апликацију: Користите команду npm run build
да бисте створили извршну датотеку за вашу NestJS апликацију.
* Пребаците датотеке: Пребаците извршну датотеку на VPS сервер (користите FTP клијент или scp
команду).
* Започните NestJS сервер: Користите команду npm start
да бисте покренули NestJS сервер.
6. Тестирање и одржавање
* Проверите учитавање веб странице: Отворите браузер и посетите URL your-domain.com.
* Надгледајте стање Nginx-а: Користите sudo systemctl status nginx
да бисте проверили рад Nginx-а.
* Рестартирајте Nginx: Користите sudo systemctl restart nginx
да бисте поново покренули Nginx.
* Ажурирајте NestJS апликацију: Када се објаве ажурирања за вашу апликацију, пребаците нове датотеке на сервер, рестартирајте NestJS сервер и Nginx.
Додатна разматрања
* SSL сертификати: За безбеднији веб саобраћај, користите SSL сертификате за свој домен.
* Кеширање: Nginx nudi mogućnost кеширања статичких садржаја у циљу побољшања перформанси.
* Лог фајлови: Nginx генерише лог фајлове који садрже информације о захтевима и грешкама.
* Заштита од DDoS напада: Nginx може да помогне у заштити од DDoS напада конфигурисањем одговарајућих правила.
Закључак
Распоређивање NestJS апликације са Nginx-ом на Ubuntu VPS-у није компликован процес. Следећи кораке описане у овом чланку, можете без проблема поставити ваше веб апликације на серверу и искористити све предности које Nginx нуди. Nginx је моћан алат који вам може помоћи да оптимизујете перформансе, скалабилност и безбедност вашег веб сајта, и да постигнете оптимално корисничко искуство.
FAQs
1. Шта је Nginx?
Nginx је моћан и флексибилан веб сервер који се може користити као реверс прокси, веб сервер, кеш сервер, и још много тога. Nginx је познат по својој ефикасности, скалабилности и способности да обради велики промет.
2. Зашто је Nginx идеалан за NestJS апликације?
Nginx је идеалан за NestJS апликације због своје ефикасности, скалабилности, способности да обради велики промет и могућности да се користи као реверс прокси сервер за NestJS апликације.
3. Како да инсталирам Nginx?
Nginx се инсталира помоћу команде sudo apt install nginx -y
на Ubuntu VPS-у.
4. Како да конфигуришем Nginx за NestJS апликацију?
Конфигуришите Nginx тако што ћете уредити датотеку /etc/nginx/sites-available/default
и додати блокове за Nginx који ће преусмерити захтеве на ваш NestJS сервер.
5. Како да покренем Nginx?
Nginx се покреће командом sudo systemctl restart nginx
.
6. Како да распоредим NestJS апликацију на Ubuntu VPS?
Изградите NestJS апликацију, пребаците датотеке на VPS, покренуте NestJS сервер и конфигуришите Nginx да проксира захтеве на ваш NestJS сервер.
7. Како да ажурирам NestJS апликацију на серверу?
Пребаците нове датотеке на сервер, рестартирајте NestJS сервер и Nginx.
8. Шта су SSL сертификати?
SSL сертификати су дигитални сертификати који се користе за шифровање комуникације између веб сервера и веб прегледача, што чини веб сајт сигурнијим.
9. Шта је кеширање?
Кеширање је техника која се користи за брже достављање статичких садржаја веб сајта, што може побољшати перформансе.
10. Где могу да пронађем више информација о Nginx?
Више информација о Nginx можете пронаћи на званичном веб сајту Nginx: https://nginx.org/
Тагови: NestJS, Nginx, Ubuntu, VPS, распоређивање, веб апликације, реверс прокси, Node.js, TypeScript, веб сервер, кеширање, SSL сертификати, DDoS, лог фајлови.