ProjectDB в фоне: служба Linux или PM2
Как выбрать фоновый запуск ProjectDB через службу Linux или PM2 и не получить два экземпляра одного приложения.
- КомандаВыбирает режим
- systemd / PM2Управляет процессом
- ПриложениеВыполняет задачи
Запустили ProjectDB по SSH, закрыли терминал — приложение остановилось. Для постоянной работы его нужно передать службе Linux или PM2. Оба варианта предусмотрены в ProjectDB; удобнее выбрать один и пользоваться им последовательно. Ниже — команды запуска и детали, на которых чаще всего возникает путаница.
Запуск как службы
projectdb service-start PDB-SERVER --work-path /opt/pdb
projectdb service-restart PDB-SERVERДокументация требует выполнять команды управления службой от root. При первом интерактивном запуске доступны вопросы о подключении к базе. Для последующих неинтерактивных запусков настройки должны уже существовать. Сохраняйте имя приложения и каталог, чтобы команды обращались к тому же экземпляру.
Альтернатива с PM2
# Запускайте из рабочего каталога приложения:
projectdb pm2-start PDB-SERVER
projectdb pm2-restart PDB-SERVERНа Linux команда подготовки автозапуска PM2 также требует предусмотренных руководством прав. В Windows автоматический запуск организуется отдельно. Выбор PM2 имеет смысл, если команда уже использует его для наблюдения за процессами и понимает, под каким пользователем он работает.
Не запускаем два конкурирующих экземпляра
Смена режима для одного имени приложения останавливает прежний способ запуска по правилам CLI. Это не повод постоянно переключать режимы во время диагностики. Сначала выясните, какой процесс сейчас обслуживает приложение, затем выполняйте нужную команду управления.
Команды service-stop и pm2-stop удаляют соответствующий способ фонового запуска; их не следует путать с чтением статуса. Особенно внимательно относитесь к pm2-stop без имени приложения: руководство описывает этот вариант как остановку всех приложений текущего PM2-аккаунта.
Проверяем после перезапуска
После перезапуска откройте приложение, выполните обычный рабочий запрос и проверьте подключение к базе. Затем убедитесь, что оно стартует после перезагрузки системы. Путь к журналу и короткую проверку стоит сохранить рядом с командами управления: статус процесса ещё не говорит, что данные доступны.
