Відповіді:
Це просто відсутність сервісного файлу для systemd. Не потрібно повертатися до початку, як це робив Картик, або використовувати інший сховище, ніж описано в https://docs.mongodb.org/manual/installation/ .
Створіть файл /lib/systemd/system/mongodb.service
із таким вмістом:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
sudo service...
/etc/mongod.conf
а не/etc/mongodb.conf
mongod
тому що це те, що вони використовують на своєму офіційному сайті. Так mongodb.conf
має бути mongod.conf
і ім'я файлу має бути/lib/systemd/system/mongod.service
Ця помилка сталася через проблему з новим Ubuntu (15 і вперед).
За замовчуванням система ініціалізації є Systemd , який був Upstart раніше. Тож вам потрібно встановити Upstart, перезавантажити систему, і ось ви йдете, ви тепер можете запустити сервіс mongodb.
sudo apt-get install upstart-sysv
sudo service mongod start
mongod start/running, process 3371
mongodb
Я використовував пакунок debian в ubuntu 15.10
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
У мене були подібні проблеми після оновлення до 15.10.
Проблем може бути багато, але залежно від причини, що спричинила вашу проблему, ви зможете запустити mongodb через init.d:
sudo /etc/init.d/mongodb start
Це працювало для мене, але не довгострокове рішення, оскільки вам потрібно запустити це після кожного перезавантаження або додати його до своїх завдань запуску. Тож я дотримувався наступного:
1) створення сервісного файлу, як пояснено 'sclausen'.
2) перезавантажте послугу, запустивши:
sudo systemctl daemon-reload
3) біг sudo service mongodb start
4) Команда виконувалася без виводу. Тому я перевірив запуск mongo
і отримав помилку сокета:
Error: connect ECONNREFUSED 127.0.0.1:27017
at Object.exports._errnoException (util.js:870:11)
at exports._exceptionWithHostPort (util.js:893:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)
5) Переглянув журнали tail -n 50 /var/log/mongodb/
та виявив основну помилку:
2016-02-26T14:28:23.538+1100 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
6) видалив проблемний файл сокета: sudo rm /tmp/mongodb-27017.sock
як запропоновано в цій темі: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0
7) перезапустили послугу: sudo service mongodb start
в цей момент все було добре, і Боб повернувся до свого законного становища як мій дядько.
У моєму випадку у мене є Ubuntu 16.04.1, я встановлював MongoDB 3.2.11, і я отримував ту саму помилку. Після кількох очищених помилок і спроб, нарешті, це спрацювало, "увімкнувши" послугу:
systemctl enable mongod.service
Тоді це просто спрацювало