Как правильно запустить службу mongod в linux / OS X? - PullRequest
130 голосов
/ 08 апреля 2011

Я установил mongodb и смог запустить его, работать с ним, делать простые вещи типа чтения / записи в БД. Сейчас я пытаюсь настроить мой Mac для запуска mongod в качестве службы.

Я получаю «Команда не найдена» в ответ на:

 init mongod start

В ответ на:

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

И если я попытаюсь:

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

Так что, очевидно, я немного промахиваюсь. Следующим шагом кажется ввод случайных символов, пока что-то не заработает. Команда, которая выполняет , работает: mongod --quiet & Я не уверен, может быть, именно так вы и должны это делать? Может, мне просто отключить «тихий режим» и добавить > /logs/mongo.log в конец командной строки?

Я создаю среду разработки на Mac с намерением сделать то же самое на сервере Linux. Я просто не уверен в командах Bash. Все остальные поиски, которые я предпринимаю, пытаясь найти ответ, дают мне советы для машин Windows.

Возможно, кто-то знает версию команд для Linux?

Большое спасибо

Ответы [ 10 ]

152 голосов
/ 12 июня 2013

Редактировать: теперь вы должны использовать brew services start mongodb, как в ответе Герго ...

Когда вы устанавливаете / обновляете mongodb, brew скажет вам, что делать:

Для запуска запустите mongodb при входе в систему:

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

Тогда, чтобы загрузить mongodb сейчас:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Или, если вы не хотите / не нуждаетесь в launchctl, вы можете просто запустить:

    mongod

Работает отлично.

127 голосов
/ 09 апреля 2011

С недавними сборками mongodb Community Edition это просто.

Когда вы устанавливаете через brew, он говорит вам, что именно делать. Нет необходимости создавать новый файл управления запуском.

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
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 --config /usr/local/etc/mongod.conf
==> Summary
?  /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M
71 голосов
/ 21 мая 2014

кран Homebrew services объединяет формулы с менеджером launchctl. Добавить его легко:

brew tap homebrew/services

Затем вы можете запустить MongoDB с помощью этой команды (это также запустит mongodb при загрузке):

brew services start mongodb

Вы также можете использовать stop или restart:

brew services stop mongodb
brew services restart mongodb
14 голосов
/ 18 июня 2013

Если вы чувствуете, что имеете простой графический интерфейс, чтобы исправить это (как и я), то я могу порекомендовать pref-панель mongodb. Описание: http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb

На GitHub: https://github.com/remysaissy/mongodb-macosx-prefspane

3 голосов
/ 27 декабря 2017

Только что установил MongoDB через Homebrew.В конце консоли установки вы увидите вывод:

Для запуска mongodb:

brew services start mongodb

Или, если вам не нужен / не нужен фоновый сервис, вы можетепросто запустите:

mongod --config /usr/local/etc/mongod.conf

Итак, brew services start mongodb , мне удалось запустить MongoDB как сервис для меня.

2 голосов
/ 08 апреля 2011

Я немного осмотрелся на стороне Mac.Возможно, вы захотите использовать установщик здесь , так как похоже, что он выполняет все настройки для автоматического запуска в Mac OS.Единственным недостатком является то, что он использует довольно старую версию Монго.

Эта ссылка здесь также объясняет настройку автоматического запуска mongo в качестве фоновой службы на Mac.

0 голосов
/ 03 января 2019

mongod не работал для меня, чтобы запустить демон, но после того, как я запустил следующее, он начал работать:

'mongod --fork --logpath /var/log/mongodb.log'

(отсюда: https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/)

0 голосов
/ 02 августа 2018

В macOS 10.13.6 с MongoDB 4.0

Мне не удалось подключиться к localhost из оболочки Монго

Я запустил MongoDB с:

mongod --config /usr/local/etc/mongod.conf

Я обнаружил, что в 'mongod.conf' было:

bindIp: 127.0.0.1

Измените мое соединение JavaScript с localhost на 127.0.0.1 , и оно заработало нормально.

То же самое происходило и с MongoDB Compass.

0 голосов
/ 08 февраля 2018

Первый шаг

установка mongodb на вашем Linux-компьютере с помощью

apt установка mongodb-client && apt установка mongodb-server

второй шаг -

измените путь к базе данных вместо вашего системного пути по умолчанию, если хотите.
, поэтому сделайте следующие шаги и измените его для себя.

mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest

и на вашем компьютере с Windows сделайте это просто так, просто поставьте флаг --install.Вы должны получить успешное сообщение.

С наилучшими пожеланиями ...

0 голосов
/ 09 февраля 2015

mongod --dbpath [path_to_data_directory]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...