Bagaimana cara memulai server MongoDB pada sistem start?


86

Saya harus memulai server MongoDB saya setiap kali sistem restart. Bagaimana cara mengkonfigurasinya untuk memulai dengan OS saya? Saya di Ubuntu 11,04.


1
Saya heran mengapa tidak ada yang merekomendasikan penggunaan pemula di sini.
Tom

Jawaban:


133

Saya memiliki "masalah" yang sama pada Debian jessie, dan solusi sederhana saya adalah:

systemctl enable mongod.service

Saya pikir di Ubuntu sama saja.

-- SUNTING --

Menurut komentar, itu berfungsi di Ubuntu juga. Pada Ubuntu 18.04 LTS sepertinya ini solusi:

systemctl enable mongodb.service

Terima kasih kepada @Adam. Mungkin mereka mengubah nama layanan


10
Bekerja untuk sayaUbuntu Mate 16.04.2 LTS
Muhammad Gelbana

2
Sayang sekali tidak ada info dalam dokumentasi resmi tentang memulai layanan.
UpTheCreek

2
mungkin perlu (sudo) systemctl start mongodmemulai layanan mongd
Jeff Xiao

2
Juga berfungsi di ubuntu 18.04 LTS
89n3ur0n

1
Hanya bekerja untuk saya jika saya mengubah mongod.serviceke mongodb.serviceUbuntu 18.04 LTS - aneh?
Adam

37

Jika Anda menginstal MongoDB menggunakan Advanced Packaging Tool (apt) maka itu akan mengkonfigurasi skrip startup Anda untuk secara otomatis menjalankan Mongo ketika sistem melakukan booting.

Langkah-langkahnya adalah sebagai berikut, pertama konfigurasikan apt untuk dapat mengunduh paket Mongo:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo nano /etc/apt/sources.list

Tambahkan baris ini ke sources.list lalu simpan:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Kemudian unduh dan instal Mongo dengan utilitas apt-get :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mongodb-10gen

Jika Anda ingin membuat perubahan apa pun untuk mengkonfigurasi , edit mongodb.conf Anda dan mulai ulang: 

sudo nano /etc/mongodb.conf
sudo service mongod restart

5
Jika Anda ingin mengubahnya nanti agar tidak memulai MongoDB secara otomatis saat startup, edit /etc/init/mongodb.conf.
kynan

11

Mengontrol semua tautan layanan init.d harus dilakukan dengan alat pembaruan-rc.d

yaitu untuk mengaktifkan daemon mongod di runlevel default (mis. nyalakan saat boot):

update-rc.d mongodb defaults

Lihat https://help.ubuntu.com/community/UbuntuBootupHowto untuk informasi lebih lanjut. Tautan ini memberi tahu Anda segala sesuatu yang ingin Anda ketahui tentang cara mengatur program saat boot.


2
Distribusi MongoDB 10gen tidak menggunakan skrip init gaya Sistem-V, yang perlu Anda edit /etc/init/mongodb.conf.
kynan

apakah saya perlu melakukan ini?
tofutim

5

Jika Anda telah menginstal MongoDB Community Edition (yang merupakan cara yang disarankan karena menerima pembaruan yang lebih sering daripada paket yang didistribusikan dalam repositori paket Ubuntu) Anda mengkonfigurasi perilaku start / stop darimongod melalui skrip init pemula /etc/init/mongod.conf , yang secara default untuk memulai daemon secara otomatis saat boot

start on runlevel [2345]
stop on runlevel [06]

Jika Anda tidak ingin memulai secara otomatis, ganti 2 baris dengan

stop on runlevel [023456]

Apakah ini akan memulai server sebelum ada yang masuk ke sistem?
Gabriel Fair

@GabrielFair Ya
kynan

5

Saya menggunakan crontab untuk Ubuntu. Ini bekerja dengan baik. Untuk dapat mengedit file

Sudo crontab –e 

Tambahkan baris ini ke file

@reboot sudo service mongod start &

Tanda "&" pada akhirnya membantunya bekerja di latar belakang.

Ctrl+ xuntuk keluar, tekan "Y" setelah diminta. Dan simpan nama file sebagai "crontab".


3

Jika Anda memiliki Ubuntu 16.04 LTS, Anda dapat mengaktifkan mongo untuk memulai saat mengetik booting ini di konsol Anda:
sudo systemctl enable mongod
Saya telah menggunakan pendekatan ini dengan MongoDB Community Edition 3.6 dan berfungsi. Nyalakan ulang mesin Anda dan uji apakah mongo sedang mengetik:
sudo service mongod status


3

Anda dapat menggunakan perintah systemctl untuk mengaktifkan layanan mongo Anda saat dijalankan saat boot sistem.

Buat layanan sedemikian rupa

sudo nano /etc/systemd/system/mongodb.service

Tempatkan konten dalam file

[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target

[Service]
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
User=mongodb
Group=mongodb
StandardOutput=syslog
StandardError=syslog

setelah itu Anda akan dapat menggunakan perintah layanan seperti

sudo service mongod start|stop|restart

dan kemudian jika Anda ingin membuatnya di boot mesin, Anda dapat membuat file mongod di bawah /etc/init.d/


1

chkconfig --levels 235 mongod on?

di mana mongodb adalah nama layanan Anda


2
Distribusi 10gen MongoDB tidak menggunakan skrip init gaya Sistem-V secara default (meskipun disediakan), edit /etc/init/mongodb.confsebagai gantinya.
kynan

@kynan Edit itu caranya? Apa yang saya ubah / tambahkan ke file mongod.conf?
Kieveli

@Kieveli: lihat jawaban ini
kynan

1

Saya telah secara konsisten menggunakan posting ini sebagai titik awal untuk mendapatkan rig sharding baru dan berjalan. Ini termasuk bagian tentang mengkonfigurasi pemula yang saya juga gunakan.

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on-ubuntu-ec2/


1
Tolong jangan memposting "hanya tautan eksternal". Ada kemungkinan bahwa tautan eksternal akan turun di masa mendatang dan jawaban ini kemudian tidak lengkap. Selain tautan, silakan posting bagian yang relevan dari artikel di sini: mis. memposting bagian yang menunjukkan "Bagaimana cara memulai server MongoDB pada sistem start?" menggunakan pemula.
dicurangi

1

Jika Anda menginstal MongoDB dengan apt-getseperti yang dijelaskan dalam panduan instalasi Ubuntu MongoDB , itu akan datang dengan skrip startup dasar dan file konfigurasi. (penggunaan file konfigurasi sangat dianjurkan)

Anda juga dapat melihat di sini untuk posting lama yang menautkan ke init.dskrip.

Dalam kedua kasus, premis dasar adalah bahwa Anda mengatur layanan dan kemudian mengkonfigurasi untuk memulai-berhenti dengan komputer. Ini adalah teknik yang cukup umum untuk server, ada banyak tutorial di sekitar untuk melakukan hal ini.


2
tidak lagi terjadi di 16,04
chovy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.