У меня есть 3 экземпляра на EC2, каждый с эластичным IP, и у каждого работает версия Монго 3.2. Все они находятся в реплике, заданной именем типа. Настройки bind_ip в mongod.conf настраиваются с IP 0.0.0.0.
Я пытаюсь подключить Монго через php. Я уже установил расширение MongoDB а также библиотека.
Все из которых находятся на том же порту, и основной IP: 52.67.34.1
Мое соединение:
$this->manager = new MongoDB\Driver\Manager(
"mongodb://52.67.34.1,52.67.77.2,52.67.30.3/?replicaSet=homologation");
Но для выполнения запроса или вставки выдается следующая ошибка:
Неустранимая ошибка: необработанное исключение «MongoDB \ Driver \ Exception \ ConnectionTimeoutException» с сообщением «Подходящие серверы не найдены (
serverselectiontryonce
set): [ошибка соединения при вызове ismaster на ’52 .67.34.1: 27017 ‘] [ошибка соединения при вызове ismaster на ’52 .67.77.2: 27017’] [ошибка соединения при вызове ismaster на ’52 .67.30.3: 27017 ‘] [Не удалось подключиться к’ 172.31.1.1:27017 ‘: Превышено время ожидания соединения] [Не удалось подключиться к’ 172.31.2.2:27017 ‘: Превышено время ожидания соединения] [Не удалось подключиться к’ 172.31.3.3:27017 ‘: Превышено время ожидания соединения]
Как я могу исправить эту ошибку? Подключиться к Монго?
У меня были проблемы с подключением к реплике, установленной в PHP, с IP-адресами машины, и я решил эту проблему с помощью хостов машины.
Если у вас нет хостов вашего сервера в вашем DNS (публичном или частном), я бы предложил объявить каждого члена реплики в файле / etc / hosts.
Это сработало для меня, и я надеюсь, что это поможет.
Других решений пока нет …