Арендовал VPS — что дальше? Три способа выложить проект: копировать файлы, собрать Docker на сервере или отправить готовый образ.
Продвинутый урок. Здесь много команд Linux и системного администрирования. При первом проходе курса его можно смело пропустить и вернуться, когда появится свой проект для выкладки.
VPS (Virtual Private Server) — это арендованный компьютер в дата-центре. Не «облако-магия», а буквально Linux-машина, к которой у тебя есть полный доступ. Провайдер (Hetzner, DigitalOcean, Timeweb, Selectel) даёт тебе:
203.0.113.10, по нему сервер виден из интернетаssh = «удалённый пульт» от чужой машины)Всё остальное ставишь и настраиваешь сам. В этом и разница с PaaS.
PaaS (Render, Railway, Heroku): VPS (арендованный сервер):
git push → платформа всё ssh на сервер → всё ставишь
собрала, запустила, следит и настраиваешь руками
✅ просто ❌ дороже, меньше ✅ контроль, дёшево ❌ сам себе
контроля админPaaS — «сервер как услуга»: не думаешь про Linux вообще. VPS — «дали ключи от пустой машины, дальше сам». Этот урок — про VPS.
Неважно, каким способом деплоишь — на сервере должны сойтись четыре вещи:
node_modules, нужная версия Node)💻 Твой ноут ──SSH──▶ ☁️ Интернет ──────▶ 🖥️ VPS (203.0.113.10)
тут код тут код РАБОТАЕТДальше — три способа перенести код на сервер и запустить. Схема сверху кликабельна: переключай способы и смотри поток команд.
Команды
# на сервере: git clone https://github.com/me/app.git cd app npm install --omit=dev pm2 start server.js # автозапуск + рестарт
Плюсы
Минусы
🔒 nginx — :443 HTTPS
nginx — reverse proxy на входе. Слушает 443, расшифровывает HTTPS по TLS-сертификату, отдаёт статику и проксирует остальное на приложение:
server {
listen 443 ssl;
server_name myapp.ru;
ssl_certificate /etc/letsencrypt/live/myapp.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myapp.ru/privkey.pem;
location / {
proxy_pass http://localhost:3000; # → твоё приложение
}
}TLSСертификат бесплатно выдаёт Let's Encrypt через certbot, живёт 90 дней и продлевается сам.