Руководство по управлению Next.js проектом в PM2 с Yarn
Полный набор команд для эффективного управления Next.js проектом через PM2 с автоматической пересборкой при изменениях


1. Установка и настройка
yarn global add pm2 # Установка PM2
cd frontend # Переход в папку проекта
yarn install # Установка зависимостей
2. Сборка и запуск проекта
Production-режим
yarn build # Сборка проекта
pm2 start "yarn start" --name frontend
Development-режим (не рекомендуется для продакшена)
pm2 start "yarn dev" --name frontend-dev
3. Автоматическая пересборка и перезапуск при изменениях
Для автоматической пересборки и перезапуска при изменениях файлов:
pm2 start --name frontend-watch "yarn build && yarn start" --watch
Или альтернативный вариант с отдельным наблюдателем:
pm2 start --name frontend "yarn start"
pm2 start --name frontend-builder "yarn build --watch"
4. Полный список команд управления
Основные команды
pm2 start "yarn start" --name frontend # Запуск проекта
pm2 restart frontend # Перезапуск с коротким downtime
pm2 reload frontend # Перезагрузка без downtime (для Next.js)
pm2 stop frontend # Остановка процесса
pm2 delete frontend # Удаление процесса из списка PM2
Мониторинг и логи
pm2 list # Список всех процессов
pm2 status # Статус процессов
pm2 logs frontend # Просмотр логов
pm2 logs --lines 100 # Последние 100 строк логов
pm2 monit # Интерактивный мониторинг
Управление несколькими процессами
pm2 restart all # Перезапуск всех процессов
pm2 stop all # Остановка всех процессов
pm2 delete all # Удаление всех процессов
Автозагрузка при перезапуске сервера
pm2 save # Сохранить текущие процессы
pm2 startup # Настроить автозагрузку (выполнить один раз)
pm2 unstartup # Отключить автозагрузку
Обновление проекта
git pull # Обновить код
yarn install # Обновить зависимости
yarn build # Пересобрать проект
pm2 reload frontend # Перезагрузить без простоя
5. Дополнительные полезные команды
pm2 describe frontend # Подробная информация о процессе
pm2 reset frontend # Сброс счетчиков процесса
pm2 flush # Очистка всех логов
pm2 update # Обновление PM2
Чтобы посмотреть подробную информацию о запущенном проекте в PM2, используйте следующие команды:
1. Основная информация о процессе
pm2 show <id|name>
Пример:
pm2 show api.ghostbase.net
Выведет:
- Путь к приложению
- Аргументы командной строки
- Переменные окружения
- Информацию о логах
- Статистику использования CPU и памяти
- Информацию о рестартах
2. Просмотр логов в реальном времени
pm2 logs <id|name> [--lines <количество строк>] [--timestamp]
Примеры:
pm2 logs api.ghostbase.net # Последние логи
pm2 logs api.ghostbase.net --lines 100 # Последние 100 строк
pm2 logs api.ghostbase.net --timestamp # С временными метками
3. Мониторинг в реальном времени
pm2 monit
Откроет интерактивную консоль с:
- Списком процессов
- Использованием CPU
- Использованием памяти
- Логами в реальном времени
4. Подробная статистика
pm2 describe <id|name>
Аналогично pm2 show
, но с более детальным выводом.
5. Проверка состояния приложения
pm2 list
Покажет таблицу со всеми процессами и их статусом.
6. Проверка метрик производительности
pm2 show <id|name> --metrics
Покажет детальную статистику по использованию ресурсов.
7. Просмотр исходной конфигурации
Если процесс был запущен через конфигурационный файл:
pm2 ecosystem
Покажет текущую конфигурацию.
8. Проверка переменных окружения
pm2 env <id|name>
Советы:
-
Для постоянного мониторинга используйте
pm2 monit
-
Для анализа истории логов можно использовать:
less ~/.pm2/logs/api.ghostbase.net-error.log
-
Для JSON-вывода (удобно для скриптов):
pm2 jlist
Несколько примеров
pm2 start yarn --name "dev.ghostbase.net" --interpreter node -- start
pm2 start npx --name "telega-bot" --interpreter node -- ts-node telega/bot/index.ts
pm2 logs telega-bot
pm2 show telega-bot