Как запустить MongoDB в качестве службы Windows?

Как настроить MongoDB, чтобы он мог работать как служба Windows?

mongodb,windows-services,nosql,

180

Ответов: 27


99 ов принято

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

mongod --install

Возможно, стоит сначала прочитать эту тему . Кажется, что некоторые проблемы с относительными / абсолютными путями возникают, когда записывается соответствующий раздел реестра.


309

После нескольких часов я наконец сделал это.

Убедитесь, что вы добавили каталог / bin в системную переменную PATH

Сначала я выполнил эту команду:

D:mongodbin>mongod --remove

Сначала я выполнил эту команду после открытия командной строки в качестве администратора:

D:mongodbin>mongod --dbpath=D:mongodb --logpath=D:mongodblog.txt --install

После этого прямо в командной строке выполните:

services.msc

И ищите службу MongoDB и нажмите «Пуск».


ПРИМЕЧАНИЕ. Обязательно выполняйте командную строку как администратор.

Если вы не используете свой файл журнала ('D: mongodb log.txt' в приведенном выше примере) будут содержать такие строки:

2016-11-11T15:24:54.618-0800 I CONTROL  [main] Trying to install Windows service 'MongoDB'
2016-11-11T15:24:54.618-0800 I CONTROL  [main] Error connecting to the Service Control Manager: Access is denied. (5)

и если вы попытаетесь запустить службу с консоли, отличной от администратора (например, net start MongoDBили Start-Service MongoDBв PowerShell), вы получите ответ вроде этого:

System error 5 has occurred.
Access is denied.

или это:

Start-Service : Service 'MongoDB (MongoDB)' cannot be started due to the following error: Cannot open MongoDB service
on computer '.'.
At line:1 char:1
+ Start-Service MongoDB
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
   ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceComman

62

не только --install,

также необходимо --dbpathи--logpath

и после перезагрузки ОС вам необходимо удалить «mongod.lock » вручную


34

В отличие от других ответов, это будет ..

НАЧАТЬ АВТОМАТИЧЕСКОЕ ОБСЛУЖИВАНИЕ СИСТЕМЫ REBOOT / RESTART

Установка MongoDB

Windows

(1) Установите MongoDB

(2) Добавить bin в путь

(3) Создать systemLog : destination : путь к файлу : c : data log mongod . хранилище журналов : dbPath : c : data db

(4) Создать c: data log

(5) Создайте c: data mongod.cfg с содержимым.

sc.exe create MongoDB binPath= ""C:Program FilesMongoDBServer3.4inmongod.exe" --service --config="C:datamongod.cfg"" DisplayName= "MongoDB" start= "auto"

(6) Создать сервис, который будет автоматически запускаться при перезагрузке . RUN AS ADMIN ..

net start MongoDB

(7) Запустите сервис .. RUN AS ADMIN ..

net stop MongoDB

sc.exe delete MongoDB

ВАЖНО: Даже если это говорит: «Служба MongoDB была успешно запущена», она может выйти из строя

Чтобы дважды проверить панель управления> Службы, убедитесь, что статус службы MongoDB - «Запуск»,

Если нет, проверьте свой файл журнала в C: data log mongod.log по причине сбоя и исправьте его

(Не запускайте MongoDB через Панель управления> Сервисы, используйте .. net start MongoDB)

(8) Наконец, перезагрузите компьютер с помощью MongoDB, и он все равно будет запущен при перезапуске

Если вы когда-нибудь захотите его убить.

cmd

21

Следующие шаги относятся к Windows.

Запустите ниже в административном mongod --remove

mongod --dbpath "C:datadb" --logpath "C:Program FilesMongoDBServer3.4inmongod.log" --install --serviceName "MongoDB"

Это приведет к удалению существующего сервиса MongoDB (если есть).

C:datadb

Убедитесь, что C:datadbпапка существует

Откройте службы с помощью:

services.msc

Найти MongoDB -> Щелкните правой кнопкой мыши -> Старт

MongoDB, окна-услуги, NoSQL,
Похожие вопросы