MongoDB sunucusu sistemde nasıl başlatılır?


85

Sistem her yeniden başlatıldığında MongoDB sunucuma başlamalıyım. İşletim sistemimle başlayacak şekilde nasıl yapılandırabilirim? 11.04 Ubuntu'dayım.


1
Neden kimsenin burada starttart kullanılmasını önermediğini merak ediyorum.
Tom

Yanıtlar:


132

Debian jessie'de de aynı problemi yaşadım ve basit çözümüm:

systemctl enable mongod.service

Bence Ubuntu'da aynı.

-- DÜZENLE --

Yorumlara göre, Ubuntu'da da çalışıyor. Ubuntu 18.04 LTS'de bu çözüm gibi görünüyor:

systemctl enable mongodb.service

@Adam'a teşekkürler. Belki de hizmetin adını değiştirdiler.


10
Benim için çalıştıUbuntu Mate 16.04.2 LTS
Muhammad Gelbana

2
Yazık resmi belgelerinde hizmete başlama konusunda hiçbir bilgi yoktur.
UpTheCreek

2
(sudo) systemctl start mongodmongd servisini başlatması gerekebilir
Jeff Xiao,

2
Ayrıca,
ubuntu'da

1
Ben değiştirirseniz Sadece benim için çalışıyor mongod.serviceiçin mongodb.servicegarip - Ubuntu 18.04 LTS üzerinde?
Adam,

37

Gelişmiş Paketleme Aracını (apt) kullanarak MongoDB'yi kurarsanız, başlangıç ​​komut dosyalarınızı sistem önyüklendiğinde otomatik olarak Mongo çalışacak şekilde yapılandırır.

Adımlar aşağıdaki gibidir, ilk önce Mongo paketini indirebilmek için uygun olan apt :

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

Bu satırı sources.list'e ekleyin ve sonra kaydedin:

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

Sonra Mongo'yu apt-get yardımcı programı ile indirip kurun :

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

Config üzerinde herhangi bir değişiklik yapmak istiyorsanız, mongodb.conf dosyanızı düzenleyin ve yeniden başlatın: 

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

5
Daha sonra değiştirmek isterseniz için değil , otomatik olarak başlangıçta düzenlemeyi MongoDB başlatın /etc/init/mongodb.conf.
kynan

11

Tüm init.d servis linklerinin kontrolü update-rc.d aracı ile yapılmalıdır.

Mongod arka planını varsayılan çalışma seviyelerinde açmak için (örn. açılışta açın):

update-rc.d mongodb defaults

Daha fazla bilgi için https://help.ubuntu.com/community/UbuntuBootupHowto adresini ziyaret edin . Bu bağlantı, programların önyüklemesinde nasıl ayarlanacağı hakkında bilmek istediğiniz her şeyi size anlatır.


2
10gen MongoDB dağıtımı, System-V tarzı init betiğini kullanmaz, düzenlemelisiniz /etc/init/mongodb.conf.
kynan

bunu yapmam gerekiyor mu?
tofutim

5

Eğer yüklediyseniz MongoDB Community Edition misiniz (Ubuntu paket deposunda dağıtılan paketin daha sık güncellemeler aldığı için önerilen yöntemdir) başlangıç yapılandırmak / davranışını durdurmakmongod yoluyla sonradan görme init komut /etc/init/mongod.conf cini başlatmak için varsayılan, açılışta otomatik olarak

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

Eğer varsa yok otomatik başlamak istiyorum, olanlar 2 satırların yerine

stop on runlevel [023456]

Bu, herhangi biri sisteme giriş yapmadan önce sunucuyu başlatacak mı?
Gabriel Fair

@GabrielFair Evet
kynan

5

Ubuntu için crontab kullanıyorum. İyi çalışıyor. Dosyayı düzenleyebilmek

Sudo crontab –e 

Bu satırı dosyaya ekle

@reboot sudo service mongod start &

Sonunda "&" iç çekerek arka plan çalışması için yardımcı olur.

Ctrl+ xçıkmak için istendiğinde "Y" tuşuna basın. Ve dosya adını "crontab" olarak saklayın.


3

Eğer Ubuntu 16.04 LTS'niz varsa, mongo'nuzu önyükleme ile konsolunuza yazmaya başlayabilirsiniz:
sudo systemctl enable mongod
Bu yaklaşımı MongoDB Community Edition 3.6 ile kullandım ve işe yarıyor. Makinenizi yeniden başlatın ve mongo'nun yazmaya çalıştığını test edin:
sudo service mongod status


3

Sistem açılışında mongo servisinizi etkinleştirmek için systemctl komutunu kullanabilirsiniz.

Öyle bir hizmet oluşturun

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

İçeriği dosyaya yerleştir

[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

ondan sonra servis komutlarını kullanabileceksiniz

sudo service mongod start|stop|restart

ve makine önyüklemesinde telafi etmek istiyorsanız, altında mongod dosyası oluşturabilirsiniz. /etc/init.d/


1

chkconfig --levels 235 mongod on?

mongodb'un hizmetinizin adı nerede


2
10gen MongoDB dağıtımı, varsayılan olarak System-V tarzı init betiklerini kullanmaz, /etc/init/mongodb.confbunun yerine düzenlenir.
kynan

@kynan Düzenle nasıl? Mongod.conf dosyasını ne değiştirir / eklerim?
Kieveli

@Kieveli: bu cevabı gör
kynan

1

Bu yazıyı sürekli olarak yeni bir parçalama platformu kurmak ve çalıştırmak için bir başlangıç ​​noktası olarak kullandım. Ayrıca, kullandığım upstart'ı yapılandırmayla ilgili bir bölüm içeriyor.

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


1
Lütfen "sadece harici linkler" göndermeyin. Dış bağlantının gelecekte düşmesi muhtemeldir ve bu cevap eksik olabilir. Bağlantıya ek olarak, lütfen makalenin ilgili bölümünü buraya kaydedin: örn. "MongoDB sunucusunu sistem başlangıcında nasıl başlatmalı?" upstart kullanarak.
39'da hileli

1

MongoDB'yi MongoDB Ubuntu kurulum kılavuzundaapt-get açıklandığı şekilde kurarsanız , temel bir başlangıç ​​betiği ve config dosyası ile birlikte gelir. (Bir yapılandırma dosyasının kullanılması şiddetle önerilir)

Ayrıca bir betiğe bağlanan eski bir yazı için buraya bakabilirsiniz init.d.

Her iki durumda da, temel öncül bir hizmet kurmanız ve ardından bilgisayarı başlatmak için yapılandırmanızdır. Bu, sunucular için oldukça yaygın bir tekniktir, tam olarak bunu yapmak için çok sayıda ders vardır.


2
artık
16.04'deki
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.