У меня была эта проблема на днях, когда я пытался подключиться к удаленному (внутри локальной сети) серверу mongo с mongodb Compass.Итак, я отредактировал mongodb.config следующим образом:
port = 27017
bind_ip = 127.0.0.1,192.168.2.101
, где 192.168.2.101 - ip частного сервера монго, и мне удалось подключиться к Compass.Проблема в том, что когда я загружаю или перезагружаю сервер с вышеуказанной конфигурацией в mongodb.config, mongodb как служба отказывается от автоматического запуска, и я должен запустить его вручную с терминала:
sudo service mongodb start
Файл журнала настаиваетчто моя проблема при попытке запустить службу при запуске:
listen(): bind() failed errno:99 Cannot assign requested address for socket: 192.168.2.101:27017
Failed to set up sockets during startup.
, но я проверил с помощью netstat (как в качестве пользователя, так и в качестве пользователя root) и ничего не использовал порт 27017, где я связываю приватный ip во времяпри запуске.Самое смешное, что после запуска, если я запускаю mongodb вручную, все работает отлично, и локальный и приватный ip правильно связаны.
Итак, для ясности, вот краткая временная шкала шагов:
MongoDb запускается нормально и самостоятельно при запуске с этой конфигурацией ->
port = 27017
bind_ip = 127.0.0.1
Я редактирую mongodb.config так, чтобыпривязать к другому ip следующим образом ->
port = 27017
bind_ip = 127.0.0.1,192.168.2.101
Я перезагружаю службу mongo - не перезагружаю сервер (все работает нормально)
- Теперь перезагрузите сервер (при запуске состояние mongodb выдает ошибку сокета и не запускается как служба)
- Я запускаю службу mongo вручную (запускается и работает отлично, а состояние в порядке)
Таким образом, возникает вопрос: почему, когда я связываю второй IP-адрес в mongodb.config, служба mongo не запускается автоматически после перезагрузки и должна запускаться вручную (где она прекрасно работает без использования сокетов).ошибки gn) и / или почему ошибка сокета происходит только во время запуска, а не при ручном запуске?Где может быть проблема?
Заранее спасибо, и я буду продолжать пытаться найти решение, но любая помощь будет оценена.
ps Я бы предпочел не использовать привязку 0.0.0.0и не запускать сервис с помощью bash. Я использую Debian Stretch и Mongo 3.2.11.