mongo 인스턴스가 실행중인 경우 쉘에서 수신 대기중인 포트 번호를 어떻게 확인할 수 있습니까? 그렇게 db.serverStatus()
할 거라고 생각 했지만 보이지 않습니다. 나는 이것을 본다
"connections" : {
"current" : 3,
"available" : 816
가깝지만 … 제안? 문서를 읽었으며이를 수행 할 명령을 찾을 수없는 것 같습니다.
답변
시스템 셸에서 사용하거나 lsof
(아래 Derick의 답변 참조) netstat -an
프로세스가 실제로 수행하는 작업을 볼 수 있습니다. 그러나 mongo
(질문 제목이 암시하는) 셸에 대한 액세스 권한 만 있다고 가정하면 serverCmdLineOpts()
명령을 실행할 수 있습니다 . 이 출력은 명령 줄 (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 ( http 콘솔 ) 에서 수신 대기합니다 . 참고 : 명시 적이 지 않고 포트를 변경할 수있는 몇 가지 다른 인수가 있습니다. 여기를 참조하십시오.
https://docs.mongodb.org/manual/reference/configuration-options/#sharding.clusterRole
답변
다음을 실행하여 운영 체제 쉘에서이를 수행 할 수 있습니다.
sudo lsof -iTCP -sTCP:LISTEN | grep mongo
답변
이 시도:
db.runCommand({whatsmyuri : 1})
IP 주소와 포트 번호가 모두 표시됩니다.
답변
MongoDB는 기본적으로 하나의 포트 (27017)에서만 수신합니다. 는 IF --rest
인터페이스가 활성화되어, 포트 28017 (+ 1,000 27,017)도 자세한 내용은 공개 처리 웹 요청 될 것입니다.
MongoDB는 getParameter
명령을 지원 하지만 이미 데이터베이스에 연결되어있는 경우에만 작동합니다 (이미 포트를 알고있는 지점).
답변
다음 명령을 시도하십시오.이 명령은 저에게 효과적입니다.
sudo lsof -iTCP -sTCP:LISTEN | grep mongo