Ошибка подключения php с набором реплики Монго
У меня есть 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 ': Превышено время ожидания соединения]
Как я могу исправить эту ошибку? Подключиться к Монго?
1 ответ
У меня были проблемы с подключением к реплике, установленной в PHP, с IP-адресами машины, и я решил эту проблему с помощью хостов машины.
Если у вас нет хостов вашего сервера в вашем DNS (публичном или частном), я бы предложил объявить каждого члена реплики в файле /etc/hosts.
Это сработало для меня, и я надеюсь, что это поможет.