141 votes

Quelle est la bonne façon de démarrer un service Mongod sur linux / OS X?

J'ai installé mongodb et ont été en mesure de l'exécuter, de travailler avec elle, de faire simple DB lire / écrire des trucs de type. Maintenant je suis en train de configurer mon Mac pour exécuter mongod en tant que service.

J'obtiens un "Command not found" en réponse à:

 init mongod start

En réponse à:

~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service

Et si j'essaie:

~: launchctl start mongod
launchctl start error: No such process

Alors, évidemment, je suis maladroit un peu partout. La prochaine étape semble être en tapant des caractères aléatoires jusqu'à ce que quelque chose fonctionne. La commande qui ne travail est de: mongod --quiet & je ne suis pas sûr, peut-être que c'est la façon dont vous êtes censé faire? Peut-être que je devrais juste prendre off "mode silencieux" et d'ajouter" > /logs/mongo.log à la fin de la ligne de commande?

Je suis en train de construire un environnement de développement sur un Mac avec l'intention de faire la même chose sur un serveur linux. Je ne suis pas sûr de l'commandes Bash. Toutes les autres recherches-je faire avec en essayant de tirer vers le haut la réponse me donner des conseils pour les machines windows.

Peut-être que quelqu'un connaît la version linux de commandes?

Merci beaucoup

152voto

mennato Points 383

Lorsque vous installez / mettez à niveau mongodb, brasser vous dira quoi faire:

 To have launchd start mongodb at login:
    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
    mongod
 

Ça marche parfaitement :)

129voto

Brendan W. McAdams Points 4849

Coller ce fichier dans ~/Library/LaunchAgents/org.mongodb.mongod.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>org.mongodb.mongod</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/Cellar/mongodb/2.4.8/bin/mongod</string>
    <string>run</string>
    <string>--config</string>
    <string>/usr/local/Cellar/mongodb/2.4.8/mongod.conf</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <false/>
  <key>UserName</key>
  <string>{your_username}</string>
  <key>WorkingDirectory</key>
  <string>/usr/local</string>
  <key>StandardErrorPath</key>
  <string>/usr/local/var/log/mongodb/output.log</string>
  <key>StandardOutPath</key>
  <string>/usr/local/var/log/mongodb/output.log</string>
</dict>
</plist>

Assurez-vous de changer les instances de '{utilisateur} " de votre nom d'utilisateur et tous les chemins d'accès approprié.

Après que

launchctl load ~/Library/LaunchAgents/org.mongodb.mongod.plist 

Pour ajouter le fichier à la launchd service, et ensuite vous pouvez l'exécuter

launchctl start org.mongodb.mongod

Cette plist est pris à partir de Homebrew, ce qui est assez utile Mac outil pour l'obtention et la gestion des paquets comme MongoDB.

Aussi, si vous n'êtes pas à l'aide d'un mongodb fichier de configuration, supprimez ces lignes:

<string>--config</string>
<string>/usr/local/Cellar/mongodb/2.4.8/mongod.conf</string>

Comme MongoDB exigera que le fichier de configuration de démarrage.

Vous pouvez également ajouter un alias à votre ~/.bash_profile pour démarrer/arrêter le service mongod

alias mongostart="launchctl start org.mongodb.mongod"
alias mongostop="launchctl stop org.mongodb.mongod"

74voto

Gergo Erdosi Points 9712

Homebrew vient également avec services qui est une enveloppe autour de launchctl . Vous pouvez lancer MongoDB avec cette commande:

 brew services start mongodb
 

Vous pouvez également utiliser stop ou restart :

 brew services stop mongodb
brew services restart mongodb
 

14voto

koffster Points 231

Si vous avez envie d'avoir un simple interface graphique pour résoudre ce problème (comme je le fais), je peux alors vous recommander le panneau de préfixe mongodb. Description: http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb

Sur github: https://github.com/remysaissy/mongodb-macosx-prefspane

2voto

Scott Points 8090

J'ai fait un peu de chercher du côté du Mac. Vous pouvez utiliser le programme d'installation ici qu'il regarde comme il fait tout le programme d'installation pour vous lancer automatiquement sur Mac OS. Le seul inconvénient est qu'il semble comme c'est à l'aide d'un assez vieux mongo version.

Ce lien ici explique également le programme d'installation pour obtenir de mongo automatiquement le lancement d'un service d'arrière-plan sur le Mac.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X