2016-08-29 7 views
0

EC2에 3 개의 인스턴스가 있으며, 각각 탄성 IP가 있으며 각 인스턴스는 mongo 버전 3.2입니다. 모두 유형 이름으로 설정된 복제본에 있습니다. mongod.conf의 bind_ip 설정은 IP 0.0.0.0으로 설정됩니다.몽고 복제 세트로 PHP 연결 오류가 발생했습니다.

PHP를 통해 mongo에 연결하려고합니다. 확장 프로그램 mongodblibrary을 이미 설치했습니다.

모두는 동일한 포트에서, 그리고 기본 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"); 

그러나 질문을하거나 삽입하는, 그것은 다음과 같은 오류가 있습니다 :

Fatal error: Uncaught exception 'MongoDB \ Driver \ Exception \ ConnectionTimeoutException' with message 'No suitable servers found (serverselectiontryonce set): [connection error calling ismaster on '52.67.34.1:27017'] [connection error calling ismaster on '52.67.77.2:27017'] [connection error calling ismaster on '52.67.30.3:27017'] [Failed connecting to '172.31.1.1:27017': Connection timed out] [Failed connecting to '172.31.2.2:27017': Connection timed out] [Failed connecting to '172.31.3.3:27017': Connection timed out]

어떻게이 오류를 해결할 수 있습니까? mongo에 연결 하시겠습니까?

+1

연결 b/w 앱 서버 및 mongodb 서버를 확인 했습니까? – Astro

+1

보안 그룹에서이 포트 27017이 열려 있습니까? – error2007s

+0

@Astro 하나의 IP가 작동하지만 둘 이상이 작동하지 않습니다. – pedrosalpr

답변

1

PHP에서 기계 IP로 설정된 복제본에 연결하는 데 문제가있어서 컴퓨터 호스트를 사용하여이 문제를 해결했습니다.

DNS (공용 또는 개인)에 서버 호스트가없는 경우 각 복제 구성원을/etc/hosts 파일에 선언하는 것이 좋습니다.

그것은 나를 위해 일했으며, 도움이되기를 바랍니다.