Каков правильный способ запуска службы 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. Все остальные поиски, которые я выполняю, пытаясь подтянуть ответ, дают мне советы для оконных машин.

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

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

Ответ 1

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

Когда вы устанавливаете через 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

Ответ 2

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

Чтобы запустить start mongodb при входе в систему:

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

Затем загрузить mongodb сейчас:

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

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

    mongod

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

Ответ 3

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

brew tap homebrew/services

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

brew services start mongodb

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

brew services stop mongodb
brew services restart mongodb

Ответ 5

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

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

Ответ 6

mongod --dbpath [path_to_data_directory]