Как правильно запустить службу mongod в linux / OS X?

я установил mongodb и смог запустить его, работать с ним, делать простые вещи типа чтения / записи DB. Теперь я пытаюсь настроить свой 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-версию команд?

спасибо

9 ответов


С последними сборками 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

Edit: теперь вы должны использовать 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

Он отлично работает.


доморощенного тут services tap интегрирует формулы с launchctl диспетчер. Добавление легко:

brew tap homebrew/services

затем вы можете запустить MongoDB с помощью следующей команды:

brew services start mongodb

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

brew services stop mongodb
brew services restart mongodb

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

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


только что установлен MongoDB через Homebrew. В конце консоли установки вы можете увидеть вывод следующим образом:

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

brew services start mongodb

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

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

и brew услуги начать mongodb удалось запустить MongoDB в качестве услуги для меня.


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

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


mongod --dbpath [path_to_data_directory]


Первый Шаг

установить mongodb в вашей машине linux с

apt install mongodb-client & & apt install mongodb-server

второй шаг

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

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

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

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


на macOS 10.13.6 с MongoDB 4.0

Я не смог подключиться к localhost из оболочки mongo

Я начал MongoDB с:

команду mongod --конфиг /usr/местные/и т. д./команду mongod.conf

Я нашел, что ' mongod.conf ' had:

bindIp: 127.0.0.1

измените мое соединение JavaScript с localhost в to 127.0.0.1 и это сработало отлично.

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