🧱 Суть
Nginx – это веб-сервер и reverse proxy, который принимает запросы пользователей и направляет их нужному приложению.
Например:
Пользователь
↓
Nginx
↓
┌──────────────┐
│ / │ → статический сайт
│ /onemate │ → React/Node приложение
└──────────────┘
📦 Проблема
Порой необходимо на один IP или порт VPS посадить несколько проектов.
✅ Решение
Использовать nginx для корректного перенаправления по вложенным проектам.
💻 Код
Подключение к серверу
Подключение к VPS выполняется через SSH:
ssh root@31.59.170.116Обновление пакетов
Перед установкой обновляем список пакетов:
apt update && apt upgrade -yУстановка Nginx
Установка:
apt install nginx -yПроверка состояния сервиса:
systemctl status nginxЕсли установка прошла успешно:
Active: active (running)Структура Nginx
После установки появляется директория:
/etc/nginxПроверить содержимое:
ls /etc/nginxОсновные элементы:
sites-available
sites-enabled
nginx.conf
Назначение:
nginx.conf– основной конфигурационный файл;sites-available– доступные конфиги сайтов;sites-enabled– активные конфиги сайтов.
Создание конфигурации сайта
Переходим в папку конфигураций:
cd /etc/nginx/sites-availableСоздаём файл:
nano letunoff.ruКонфигурация:
server {
listen 80;
server_name letunoff.ru www.letunoff.ru;
# Портфолио (статический сайт)
location / {
root /var/www/portfolio;
index index.html;
}
# Приложение
location /onemate {
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;
}
}Активация сайта
Создаём ссылку из sites-enabled:
ln -s /etc/nginx/sites-available/letunoff.ru /etc/nginx/sites-enabled/Теперь Nginx будет использовать этот конфиг.
Создание тестовой страницы
Создаём директорию:
mkdir -p /var/www/portfolioСоздаём простой HTML:
echo "<h1>Портфолио в разработке</h1>" > /var/www/portfolio/index.htmlПроверка конфигурации
Перед перезапуском проверяем синтаксис:
nginx -tЕсли ошибок нет – перезапускаем:
systemctl restart nginx🎯 Вывод
- Nginx устанавливается через пакетный менеджер
apt. - Конфиги сайтов хранятся в
sites-available. - Активные сайты подключаются через ссылки в
sites-enabled. - Через
locationможно направлять разные URL в разные приложения. - Перед перезапуском всегда нужно выполнять
nginx -t.