Files
ospab.host/ospabhost/backend/PM2_QUICKSTART.md
2025-11-23 14:35:16 +03:00

3.7 KiB
Raw Blame History

🚀 Быстрый старт PM2

Запуск Backend в 4 экземплярах

Через npm scripts (рекомендуется):

# 1. Сборка проекта
npm run build

# 2. Запуск PM2
npm run pm2:start

# 3. Проверка статуса
npm run pm2:status

Через скрипты:

# Дать права на выполнение (только один раз)
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 напрямую:

# Запуск
pm2 start ecosystem.config.js --env production

# Сохранение конфигурации
pm2 save

# Настройка автозапуска
pm2 startup
# Выполните команду, которую выведет pm2 startup

⚙️ Настройка автозапуска

Чтобы backend автоматически запускался при перезагрузке сервера:

# 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

📊 Мониторинг

# Просмотр логов
npm run pm2:logs

# Интерактивный мониторинг
npm run pm2:monit

# Статус всех процессов
npm run pm2:status

# Детальная информация
pm2 show ospab-backend

🔄 Обновление кода

# Вариант 1: Вручную
git pull origin main
npm install
npm run build
npm run pm2:restart

# Вариант 2: Через скрипт
./restart-pm2.sh --update

🛑 Остановка

# Через npm
npm run pm2:stop

# Через скрипт
./stop-pm2.sh

# Напрямую
pm2 stop ospab-backend
pm2 delete ospab-backend
pm2 save

📝 Полезные команды

# Логи в реальном времени
pm2 logs ospab-backend --lines 100

# Очистка логов
pm2 flush

# Перезапуск без даунтайма
pm2 reload ospab-backend

# Обновление PM2
npm install -g pm2@latest
pm2 update

# Резервная копия конфигурации
pm2 save --force

🔍 Проверка работы

После запуска проверьте:

# 1. Статус процессов (должно быть 4 инстанса "online")
pm2 list

# 2. Backend доступен
curl http://localhost:5000

# 3. Логи без ошибок
pm2 logs ospab-backend --lines 50

⚠️ Устранение проблем

PM2 не запускается

# Проверить версию Node.js
node -v

# Переустановить PM2
npm install -g pm2@latest

# Удалить старую конфигурацию
pm2 kill
rm -rf ~/.pm2

# Запустить заново
npm run pm2:start

Процессы крашатся

# Посмотреть ошибки
pm2 logs ospab-backend --err

# Увеличить лимит памяти в ecosystem.config.js
# max_memory_restart: '1G'

# Уменьшить количество инстансов
# instances: 2

📚 Подробная документация

См. PM2_SETUP.md для детальной информации.