Я установил MongoDB через программный центр в Ubuntu 16.04:
mongodb 1:2.6.10-0ubuntu1
Я считаю, что в настоящее время он содержит MongoDB 2.6.10.
Я запускаю приложение на apache2 localhost setup и запускать mongod вручную каждый раз, когда система запускается с:
mongod
Я хочу, чтобы он запускался автоматически.
Я применил два основных метода:
update-rc.d mongodb defaults
from: this
, что приводит к:
update-rc.d mongodb defaults
insserv: fopen(.depend.stop): Permission denied
Но это не вызвало ошибки:
sudo update-rc.d mongodb defaults
Я также видел несколько ссылок на редактирование «файла конфигурации MongoDB», но я не что это означает, поскольку я могу видеть файлы конфигурации в нескольких местах:
/etc/mongodb.conf /etc/init/mongodb.conf /etc/init.d/mongodbИ, однажды в правильном файле, Я не знаю, что там изменить.
В /etc/init/mongodb.conf я вижу:
start on runlevel [2345]
stop on runlevel [!2345]
Каков правильный способ обеспечения запуска mongod при запуске системы в 16.04?
Я читал это и смотрел в /etc/rc2.d и мог видеть:
S01mongodb@ --> /etc/init.d/mongodb
Обновление:
После запуска: [!d22 ]
sudo systemctl enable mongodb
, а затем перезагрузка, запуск systemctl status mongodb возвращается:
* mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2016-04-18 23:42:28 AEST; 7min ago
Docs: man:mongod(1)
Process: 655 ExecStart=/usr/bin/mongod --config /etc/mongodb.conf (code=exited, status=100)
Main PID: 655 (code=exited, status=100)
Apr 18 23:42:27 me-comp systemd[1]: Started An object/document-oriented database
Apr 18 23:42:28 me-comp systemd[1]: mongodb.service: Main process exited, code=exited, status=100/n/a
Apr 18 23:42:28 me-comp systemd[1]: mongodb.service: Unit entered failed state.
Apr 18 23:42:28 me-comp systemd[1]: mongodb.service: Failed with result 'exit-code'.
Обновление:
/var/lib/mongodb = drwxr-xr-x mongodb mongodb. /var/log/mongodb = drwxr-xr-x mongodb mongodb. /var/log/mongodb/mongodb.log = -rw-r--r-- mongodb nogroup. /var/log/mongodb/mongod.log = -rw-r--r-- mongodb mongodb. /data/db/mongod.lock = -rwxrwxr-x me me и 0 байтов. /data = drwxr-xr-x root root. /data/db = drwxr-xr-x me root.
Содержимое файла конфигурации
/etc/mongodb.conf:
# Where to store the data.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 127.0.0.1
#port = 27017 ...
Пока вы разрабатываете, вам также может потребоваться противоположное: иметь несколько локальных разделяемых экземпляров, которые вы запускаете индивидуально, а не одну глобальную установку ...
mongod --dbpath ./mongo_db_data/ --logpath ./mongo_logs/mongodb.log --port 12345
Для меня работает только выполнение sudo systemctl enable mongod
Для меня это связано с неправильным разрешением пути db. просто
chown mongodb:mongodb /var/lib/mongodb