Как правильно запустить службу mongod в linux / OS X?
Я установил 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?
Спасибо большое
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
Изменить: теперь вы должны использовать 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
Работает отлично.
Homebrew-х services
Нажмите интегрирует формулы с launchctl
менеджер. Добавить это легко:
brew tap homebrew/services
Затем вы можете запустить MongoDB с помощью этой команды:
brew services start mongodb
Вы также можете использовать stop
или же restart
:
brew services stop mongodb
brew services restart mongodb
Если вы чувствуете, что вам нужен простой графический интерфейс, чтобы исправить это (как я), то я могу порекомендовать pref-панель mongodb. Описание: 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 services запускает mongodb, мне удалось запустить MongoDB как сервис для меня.
Я немного осмотрелся на стороне Mac. Вы можете использовать установщик здесь, так как он выглядит так, как будто он выполняет все настройки для автоматического запуска в Mac OS. Единственным недостатком является то, что он использует довольно старую версию Монго.
Эта ссылка также объясняет настройку автоматического запуска mongo в качестве фоновой службы на Mac.
Первый шаг
установите mongodb на вашем компьютере с Linux
apt установить mongodb-клиент && apt установить mongodb-сервер
второй шаг
измените путь к базе данных вместо вашего системного пути по умолчанию, если хотите.
поэтому сделайте следующие шаги и измените его для себя.
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 из оболочки Монго
Я начал MongoDB с:
mongod --config /usr/local/etc/mongod.conf
Я обнаружил, что mongod.conf имеет:
bindIp: 127.0.0.1
Измените соединение JavaScript с localhost на 127.0.0.1, и оно заработало нормально.
То же самое происходило и с MongoDB Compass.
mongod
не работал, чтобы запустить демон для меня, но после того, как я запустил следующее, он начал работать:
'mongod --fork --logpath /var/log/mongodb.log'
(отсюда: https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/)
После установки mongodb через brew запустите это, чтобы запустить его:
mongod --dbpath /usr/local/var/mongodb