BIG_UPDATE deleted vps, added s3 infrastructure.
This commit is contained in:
186
ospabhost/backend/PM2_QUICKSTART.md
Normal file
186
ospabhost/backend/PM2_QUICKSTART.md
Normal 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) для детальной информации.
|
||||
Reference in New Issue
Block a user