Jawaban:
Hanya saja tidak ada file layanan untuk systemd. Tidak perlu kembali ke pemula seperti yang dilakukan Kartik atau menggunakan repositori yang berbeda dari yang dijelaskan di https://docs.mongodb.org/manual/installation/ .
Buat file /lib/systemd/system/mongodb.service
dengan konten berikut:
[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...
diam-diam gagal karena masalah izin
/etc/mongod.conf
dan tidak/etc/mongodb.conf
mongod
karena ini adalah apa yang mereka gunakan di situs resmi mereka. Jadi mongodb.conf
harus mongod.conf
dan nama file harus/lib/systemd/system/mongod.service
Kesalahan ini terjadi karena masalah dengan Ubuntu baru (15 dan lebih baru).
Sistem init default adalah systemd yang sebelumnya Upstart . Jadi Anda perlu menginstal Upstart, reboot sistem Anda dan di sini Anda pergi, Anda sekarang dapat menjalankan layanan mongodb.
sudo apt-get install upstart-sysv
sudo service mongod start
mongod start/running, process 3371
mongodb
Saya menggunakan paket debian di 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
Saya memiliki masalah serupa setelah memutakhirkan ke 15.10.
Mungkin ada banyak masalah tetapi tergantung pada apa yang menyebabkan masalah Anda, Anda mungkin bisa menjalankan mongodb melalui init.d:
sudo /etc/init.d/mongodb start
Itu bekerja untuk saya, tetapi bukan solusi jangka panjang karena Anda harus menjalankannya setelah setiap restart atau menambahkannya ke tugas startup Anda. Jadi saya mengikuti yang berikut:
1) membuat file layanan seperti yang dijelaskan oleh 'sclausen'.
2) memuat ulang layanan dengan menjalankan:
sudo systemctl daemon-reload
3) berlari sudo service mongodb start
4) Perintah dijalankan tanpa output. Jadi saya diuji dengan menjalankan mongo
dan mendapat kesalahan soket:
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) Melihat log tail -n 50 /var/log/mongodb/
dan menemukan kesalahan yang mendasarinya:
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) menghapus file socket yang bermasalah: sudo rm /tmp/mongodb-27017.sock
seperti yang disarankan pada utas ini: /programming/29813648/failed-to-unlink-socket-file-error-in-mongodb-3-0
7) menjalankan layanan: sudo service mongodb start
pada saat itu semuanya baik dan Bob kembali ke posisi yang seharusnya sebagai pamanku.
Dalam kasus saya, saya memiliki Ubuntu 16.04.1, saya menginstal MongoDB 3.2.11, dan saya mendapatkan kesalahan yang sama. Setelah beberapa kali pembersihan dan coba lagi, akhirnya berhasil "mengaktifkan" layanan:
systemctl enable mongod.service
Kemudian berhasil