bestsource

mongo 쉘에서 mongo가 어떤 포트를 리슨하는지 어떻게 알 수 있나요?

bestsource 2023. 3. 25. 11:37
반응형

mongo 쉘에서 mongo가 어떤 포트를 리슨하는지 어떻게 알 수 있나요?

mongo 인스턴스가 실행되고 있는 경우 셸에서 수신하고 있는 포트 번호를 확인하려면 어떻게 해야 합니까?나는 그렇게 생각했다.db.serverStatus()할 수 있을 것 같은데 안 보이네.이거 보여요

"connections" : {
    "current" : 3,
    "available" : 816

어느 쪽이 가깝죠?하지만 아닙니다.제안사항?문서를 읽어봤는데 이 작업을 수행할 명령어를 찾을 수 없는 것 같습니다.

OS 쉘에서 다음을 실행하여 이를 수행할 수 있습니다.

sudo lsof -iTCP -sTCP:LISTEN | grep mongo

시스템 쉘에서 사용할 수 있습니다.lsof(아래 Derick의 답변 참조) 또는netstat -an프로세스가 실제로 무엇을 하고 있는지 확인할 수 있습니다.단, 접속할 수 있는 것은mongo셸(질문 제목에 나타나 있는 의미)을 선택한 후 명령을 실행할 수 있습니다.이 출력에서는 명령줄(argv)에 전달된 모든 인수와 설정 파일(파싱된 것)에서 전달된 인수를 얻을 수 있으며 포트를 추측할 수 있습니다.mongod그 정보를 바탕으로 듣고 있습니다.다음은 예를 제시하겠습니다.

db.serverCmdLineOpts()
{
    "argv" : [
        "./mongod",
        "-replSet",
        "test",
        "--rest",
        "--dbpath",
        "/data/test/r1",
        "--port",
        "30001"
    ],
    "parsed" : {
        "dbpath" : "/data/test/r1",
        "port" : 30001,
        "replSet" : "test",
        "rest" : true
    },
    "ok" : 1
}

위와 같은 특정 포트 옵션이 전달되지 않은 경우mongod는 디폴트로 27017 및 28017(하이브리드콘솔)에서 리슨합니다.주의: 명시하지 않고 포트를 변경할 수 있는 인수에는 몇 가지가 있습니다.다음은 예를 제시하겠습니다.

https://docs.mongodb.org/manual/reference/configuration-options/ #sharding.clusterRole

이것을 시험해 보세요.

db.runCommand({whatsmyuri : 1})

IP 주소와 포트 번호가 모두 표시됩니다.

MongoDB는 디폴트(27017)로 1개의 포트로만 리슨합니다.이 경우,--rest인터페이스가 활성화 되어 있습니다.포트 28017(http 17+1000)도 오픈되어 Web 요구에 대한 자세한 내용을 처리합니다.

MongoDB는getParameter이 명령어는 이미 데이터베이스에 연결되어 있는 경우에만 작동합니다(이 시점에서 이미 포트를 알고 있습니다).

mongo 쉘에서 시도해 볼 수 있습니다.

  • db.getMongo()

이 명령을 사용하여 mongo 셸이 적절한 데이터베이스 인스턴스에 연결되어 있는지 테스트합니다.

connection to <IP>:<PORT>
  • db.collection.db()

분할되지 않은 수집의 경우 expend는 MongoDB 인스턴스의 다음 serverInfo 정보를 반환합니다.

"serverInfo" : {
   "host" : <string>,
   "port" : <int>,
   "version" : <string>,
   "gitVersion" : <string>
}

기본 MongoDB 포트

언급URL : https://stackoverflow.com/questions/9346431/how-can-i-see-what-ports-mongo-is-listening-on-from-mongo-shell

반응형