# 🚀 Быстрый старт 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) для детальной информации.