BIG_UPDATE deleted vps, added s3 infrastructure.

This commit is contained in:
Georgiy Syralev
2025-11-23 14:35:16 +03:00
parent ae1f93a934
commit c4c2610480
173 changed files with 22684 additions and 5894 deletions

View File

@@ -0,0 +1,186 @@
# 🚀 Быстрый старт PM2
## Запуск Backend в 4 экземплярах
### Через npm scripts (рекомендуется):
```bash
# 1. Сборка проекта
npm run build
# 2. Запуск PM2
npm run pm2:start
# 3. Проверка статуса
npm run pm2:status
```
### Через скрипты:
```bash
# Дать права на выполнение (только один раз)
chmod +x start-pm2.sh restart-pm2.sh stop-pm2.sh
# Запуск
./start-pm2.sh
# Перезапуск
./restart-pm2.sh
# Перезапуск с пересборкой
./restart-pm2.sh --build
# Перезапуск с обновлением из Git
./restart-pm2.sh --update
# Остановка
./stop-pm2.sh
```
### Через PM2 напрямую:
```bash
# Запуск
pm2 start ecosystem.config.js --env production
# Сохранение конфигурации
pm2 save
# Настройка автозапуска
pm2 startup
# Выполните команду, которую выведет pm2 startup
```
## ⚙️ Настройка автозапуска
Чтобы backend автоматически запускался при перезагрузке сервера:
```bash
# 1. Запустить процесс
npm run pm2:start
# 2. Настроить автозапуск
pm2 startup
# 3. Выполнить команду, которую выведет pm2 startup
# Например:
# sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u root --hp /root
# 4. Сохранить текущую конфигурацию
pm2 save
```
## 📊 Мониторинг
```bash
# Просмотр логов
npm run pm2:logs
# Интерактивный мониторинг
npm run pm2:monit
# Статус всех процессов
npm run pm2:status
# Детальная информация
pm2 show ospab-backend
```
## 🔄 Обновление кода
```bash
# Вариант 1: Вручную
git pull origin main
npm install
npm run build
npm run pm2:restart
# Вариант 2: Через скрипт
./restart-pm2.sh --update
```
## 🛑 Остановка
```bash
# Через npm
npm run pm2:stop
# Через скрипт
./stop-pm2.sh
# Напрямую
pm2 stop ospab-backend
pm2 delete ospab-backend
pm2 save
```
## 📝 Полезные команды
```bash
# Логи в реальном времени
pm2 logs ospab-backend --lines 100
# Очистка логов
pm2 flush
# Перезапуск без даунтайма
pm2 reload ospab-backend
# Обновление PM2
npm install -g pm2@latest
pm2 update
# Резервная копия конфигурации
pm2 save --force
```
## 🔍 Проверка работы
После запуска проверьте:
```bash
# 1. Статус процессов (должно быть 4 инстанса "online")
pm2 list
# 2. Backend доступен
curl http://localhost:5000
# 3. Логи без ошибок
pm2 logs ospab-backend --lines 50
```
## ⚠️ Устранение проблем
### PM2 не запускается
```bash
# Проверить версию Node.js
node -v
# Переустановить PM2
npm install -g pm2@latest
# Удалить старую конфигурацию
pm2 kill
rm -rf ~/.pm2
# Запустить заново
npm run pm2:start
```
### Процессы крашатся
```bash
# Посмотреть ошибки
pm2 logs ospab-backend --err
# Увеличить лимит памяти в ecosystem.config.js
# max_memory_restart: '1G'
# Уменьшить количество инстансов
# instances: 2
```
## 📚 Подробная документация
См. [PM2_SETUP.md](./PM2_SETUP.md) для детальной информации.