如果我有一个mongo实例正在运行,我如何检查它从shell中侦听的端口号?我以为db.serverStatus()
会这样做,但我没有看到它.我明白了
"connections" : {
"current" : 3,
"available" : 816
Run Code Online (Sandbox Code Playgroud)
哪个很接近......但没有.建议?我已经阅读了文档,似乎无法找到任何可以执行此操作的命令.
Der*_*ick 214
您可以通过运行以下命令从操作系统shell执行此操作:
sudo lsof -iTCP -sTCP:LISTEN | grep mongo
Run Code Online (Sandbox Code Playgroud)
Ada*_*ord 67
从您可以使用的系统shell lsof
(请参阅下面的Derick的答案)或netstat -an
查看进程实际执行的操作.但是,假设您只能访问mongo
shell(问题标题所暗示的),那么您可以运行该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
}
Run Code Online (Sandbox Code Playgroud)
如果您没有传递上述特定端口选项,则默认情况下mongod
将在27017和28017(http控制台)上进行侦听.注意:还有一些其他参数可以在不明确的情况下更改端口,请参见此处:
https://docs.mongodb.org/manual/reference/configuration-options/#sharding.clusterRole
Gan*_*anu 29
试试这个:
db.runCommand({whatsmyuri : 1})
Run Code Online (Sandbox Code Playgroud)
它将显示IP地址和端口号.
Gat*_* VP 11
MongoDB默认只侦听一个端口(27017).如果--rest
接口处于活动状态,端口28017(27017 + 1000)也将打开处理Web请求以获取详细信息.
MongoDB支持一个getParameter
命令,但只有在你已经连接到数据库时才有效(此时你已经知道了端口).
归档时间: |
|
查看次数: |
125038 次 |
最近记录: |