Si j'ai une instance mongo en cours d'exécution, comment puis-je vérifier les numéros de port sur lesquels elle écoute depuis le shell? Je pensais que ça le db.serverStatus()
ferait mais je ne le vois pas. je vois ça
"connections" : {
"current" : 3,
"available" : 816
Ce qui est proche ... mais non. Suggestions? J'ai lu la documentation et je n'arrive pas à trouver une commande qui fera cela.
Réponses:
À partir du shell système, vous pouvez utiliser
lsof
(voir la réponse de Derick ci-dessous) ounetstat -an
pour voir ce qu'un processus est en train de faire. Cependant, en supposant que vous n'ayez accès qu'aumongo
shell (ce que le titre de votre question implique), vous pouvez exécuter laserverCmdLineOpts()
commande. Cette sortie vous donnera tous les arguments passés sur la ligne de commande (argv) et ceux du fichier de configuration (analysé) et vous pourrez en déduire que les portsmongod
écoutent en fonction de ces informations. Voici un exemple:Si vous n'avez pas passé d'options de port spécifiques comme celles ci-dessus, le
mongod
sera à l'écoute sur 27017 et 28017 ( console http ) par défaut. Remarque: il y a quelques autres arguments qui peuvent modifier les ports sans être explicites, voir ici:https://docs.mongodb.org/manual/reference/configuration-options/#sharding.clusterRole
la source
{ "argv" : [ "mongod" ], "parsed" : { }, "ok" : 1 }
cela ne me dit pas grand-chose. Je suppose que cela me dit que je suis sur le port par défaut.Vous pouvez le faire à partir du shell du système d'exploitation en exécutant:
la source
Essaye ça:
Il affichera à la fois l'adresse IP et le numéro de port.
la source
lsof
:> mongod 14942 dmitrii 5u IPv4 0xc36ad5231f84011d 0t0 TCP *: 27017 (LISTEN) Et de lawhatsmyurl
commande: {"you": "127.0.0.1:50294", "ok": 1 } Et ils ne correspondent pas.MongoDB n'écoute que sur un port par défaut (27017). Si l'
--rest
interface est active, le port 28017 (27017 + 1000) sera également ouvert pour traiter les requêtes Web pour plus de détails.MongoDB prend en charge une
getParameter
commande, mais cela ne fonctionne que si vous êtes déjà connecté à la base de données (à quel point vous connaissez déjà le port).la source
Essayez la commande suivante, celle-ci fonctionne pour moi:
la source