Здравствуйте! Не испытывал никогда проблем в реализации на localhost с запуском проекта, но на vps сервере возникли сложности.
Стоит Debian 11.
После установки nginx, появилась папка /var/www/html
В /etc/nginx/sites-available/default указываю следующее:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# serve static frontend first
try_files $uri $uri/ /index.html;
}
# location ~*^/(api) {
location /api {
proxy_pass http://<b>ЗДЕСЬ_АЙПИ_МОЕГО_СЕРВЕРА</b>:4000/;
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;
}
}
Соответственно, frontend: /var/www/html
А бэкенд будет отрабатывать на 4000 порту с префиксом "api"
p.s. указывал вместо IP и localhost
Файл nodejs приложения:
const setup = {port:4000}
const express = require ('express');
const app = express ();
app.get('api/test', (req, res) => {
res.send('Тест');
});
app.listen(setup.port, () => {
console.log('Сервер: порт %s - старт!', setup.port);
});
Приложение запущено через pm2, автоматически поднимается, командой pm2 ls вижу, что все активно.
При переходе по адресу
IP моего сервера:4000/api/test я получаю в ответ Cannot GET /api/test
Также при переходе по
IP моего сервера/ - не удается получить доступ к сайту.
Как правильно настроить, чтобы работало? :(