Назад | Перейти на главную страницу

Запуск MongoDB с SystemD путем прослушивания сокета

Я хотел бы запускать MongoDB на моей машине разработки всякий раз, когда запрашивал порт 27017, но не раньше. У меня уже есть части файла /usr/lib/systemd/system/mongodb.socket но теперь я застрял в том, что еще там находится, и я не знаю, правильный ли это каталог.

[Unit]
Description=High-performance, schema-free document-oriented database Socket

[Socket]
ListenStream=27017

[Install]
WantedBy=sockets.target

Мой вопрос в основном таков: что еще мне нужно написать в файле, где мне разместить этот файл и нужно ли мне делать больше, чем запускать systemctl enable mongodb.socket после этого?

Службы нуждаются в специальной поддержке для работы с активацией сокета systemd. Соединение передается через дескрипторы файлов при запуске, и служба должна проверять, является ли переменная среды LISTEN_FDS установлен. На данный момент mongodb не поддерживает такой вызов. Тропинка /usr/lib/systemd/system/mongodb.socket было бы технически правильно, но для пользовательских файлов юнитов /etc/systemd/system/mongodb.socket следует предпочесть.