Si tengo una instancia de mongo en ejecución, ¿cómo puedo verificar en qué números de puerto está escuchando desde el shell? Pensé que db.serverStatus()
lo haría, pero no lo veo. veo esto
"connections" : {
"current" : 3,
"available" : 816
Que está cerca ... pero no. Sugerencias He leído los documentos y parece que no puedo encontrar ningún comando que haga esto.
Respuestas:
Desde el shell del sistema, puede usar
lsof
(consulte la respuesta de Derick a continuación) onetstat -an
para ver qué está haciendo realmente un proceso. Sin embargo, asumiendo que solo tiene acceso almongo
shell (lo que implica el título de su pregunta), entonces puede ejecutar elserverCmdLineOpts()
comando. Esa salida le dará todos los argumentos pasados en la línea de comando (argv) y los del archivo de configuración (analizado) y puede inferir que los puertosmongod
están escuchando en función de esa información. He aquí un ejemplo:Si no ha pasado opciones de puerto específicas como las anteriores,
mongod
estará escuchando en 27017 y 28017 ( consola http ) de forma predeterminada. Nota: hay un par de otros argumentos que pueden alterar los puertos sin ser explícitos, consulte aquí:https://docs.mongodb.org/manual/reference/configuration-options/#sharding.clusterRole
fuente
{ "argv" : [ "mongod" ], "parsed" : { }, "ok" : 1 }
eso no me dice mucho. Supongo que me dice que estoy en el puerto predeterminado.Puede hacer esto desde el shell del sistema operativo ejecutando:
fuente
Prueba esto:
Mostrará tanto la dirección IP como el número de puerto.
fuente
lsof
:> mongod 14942 dmitrii 5u IPv4 0xc36ad5231f84011d 0t0 TCP *: 27017 (ESCUCHAR) Y delwhatsmyurl
comando: {"usted": "127.0.0.1:50294", "ok": 1 } Y no coinciden.MongoDB solo escucha en un puerto por defecto (27017). Si la
--rest
interfaz está activa, el puerto 28017 (27017 + 1000) también estará abierto para manejar solicitudes web para obtener detalles.MongoDB admite un
getParameter
comando, pero eso solo funciona si ya está conectado a la base de datos (en ese momento ya conoce el puerto).fuente
Prueba el siguiente comando, este funciona para mí:
fuente