सिस्टम स्टार्ट पर MongoDB सर्वर कैसे शुरू करें?


85

मुझे अपना MongoDB सर्वर हर बार सिस्टम के पुनरारंभ होने पर शुरू करना होगा। मैं अपने ओएस से शुरू करने के लिए इसे कैसे कॉन्फ़िगर करूं? मैं उबंटू 11.04 पर हूं।


1
मुझे आश्चर्य है कि क्यों कोई यहाँ upstart का उपयोग करने की सिफारिश करता है।
टॉम

जवाबों:


132

मुझे डेबियन जेसी पर समान "समस्या" थी, और मेरा सरल समाधान है:

systemctl enable mongod.service

मुझे लगता है कि यह उबंटू में भी ऐसा ही है।

- संपादित करें -

टिप्पणियों के अनुसार, यह उबंटू पर भी काम करता है। उबंटू 18.04 एलटीएस पर यह समाधान लगता है:

systemctl enable mongodb.service

@Adam को धन्यवाद। शायद उन्होंने सेवा का नाम बदल दिया


10
मेरे लिए काम कियाUbuntu Mate 16.04.2 LTS
मुहम्मद गेलबाना

2
अफ़सोस कि सेवा शुरू करने के बारे में आधिकारिक दस्तावेज में कोई जानकारी नहीं है।
UpTheCreek

2
(sudo) systemctl start mongodमोंगड सेवा शुरू करने की आवश्यकता हो सकती है
जेफ़ जिओ

2
इसके अलावा ubuntu 18.04 LTS
89n3ur0n

1
केवल मेरे लिए काम करता है, तो मैं बदलने mongod.serviceके लिए mongodb.serviceउबंटू 18.04 LTS पर - अजीब?
एडम

37

यदि आप उन्नत पैकेजिंग टूल (उपयुक्त) का उपयोग करके MongoDB स्थापित करते हैं, तो यह सिस्टम बूट होने पर स्वचालित रूप से Mongo चलाने के लिए आपकी स्टार्टअप स्क्रिप्ट को कॉन्फ़िगर करेगा।

चरण इस प्रकार हैं, पहले मानगो पैकेज डाउनलोड करने में सक्षम होने के लिए उपयुक्त कॉन्फ़िगर करें :

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

इस लाइन को source.list में जोड़ें फिर सहेजें:

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

फिर डाउनलोड और उपयुक्त उपयोगिता के साथ Mongo स्थापित करें :

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

यदि आप कॉन्फ़िगर करने के लिए कोई बदलाव करना चाहते हैं, तो अपने mongodb.conf को संपादित करें और पुनः आरंभ करें: 

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

5
यदि आप बाद में इसे स्टार्टअप पर MongoDB को स्वचालित रूप से शुरू नहीं करने के लिए बदलना चाहते हैं , तो संपादित करें /etc/init/mongodb.conf
kynan 12

11

सभी init.d सेवा लिंक को नियंत्रित करना अपडेट-rc.d टूल के साथ किया जाना चाहिए

यानी डिफ़ॉल्ट रनरवेल्स में मंगोड डेमन को चालू करने के लिए (यानी इसे बूट पर चालू करें):

update-rc.d mongodb defaults

अधिक जानकारी के लिए https://help.ubuntu.com/community/UbuntuBootupHowto देखें । यह लिंक आपको वह सब कुछ बताता है जो आप जानना चाहते हैं कि बूट पर प्रोग्राम कैसे सेट करें।


2
10gen MongoDB वितरण सिस्टम-V शैली init स्क्रिप्ट का उपयोग नहीं करता है, आपको इसे संपादित करने की आवश्यकता है /etc/init/mongodb.conf
kynan 12

क्या मुझे यह करने की आवश्यकता है?
टॉफुटिम

5

यदि आपने MongoDB कम्युनिटी एडिशन (जो अनुशंसित तरीका है क्योंकि यह उबंटू पैकेज रिपॉजिटरी में वितरित पैकेज से अधिक लगातार अपडेट प्राप्त करता है) स्थापित किया है, तो आप अपस्टार्ट इनिट स्क्रिप्ट केmongod माध्यम से स्टार्ट / स्टॉप व्यवहार को कॉन्फ़िगर करते हैं , जो डेमॉन शुरू करने के लिए चूक करता है। बूट पर स्वचालित रूप से /etc/init/mongod.conf

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

यदि आप इसे स्वचालित रूप से शुरू नहीं करना चाहते हैं, तो उन 2 लाइनों को बदलें

stop on runlevel [023456]

क्या सिस्टम में लॉग इन करने से पहले सर्वर शुरू हो जाएगा?
गेब्रियल मेला


5

मैं Ubuntu के लिए crontab का उपयोग कर रहा हूं। यह बढ़िया काम करता है। फ़ाइल को संपादित करने में सक्षम होने के लिए

Sudo crontab –e 

इस लाइन को फाइल में जोड़ें

@reboot sudo service mongod start &

अंत में "&" उच्छ्वासन पृष्ठभूमि को काम करने में मदद करता है।

Ctrl+ xबाहर निकलने के लिए, एक बार संकेत दिए जाने पर "Y" दबाएं। और फ़ाइल का नाम "crontab" रखें।


3

यदि आपके पास Ubuntu 16.04 LTS है, तो आप अपने कंसोल में बूट टाइपिंग शुरू करने के लिए मोंगो को सक्षम कर सकते हैं:
sudo systemctl enable mongod
मैंने इस दृष्टिकोण का उपयोग MongoDB सामुदायिक संस्करण 3.6 के साथ किया है और यह काम करता है। अपनी मशीन को रिबूट करें और परीक्षण करें कि मानगो में टाइपिंग चल रही है या नहीं:
sudo service mongod status


3

आप सिस्टम बूट पर चलाने के लिए अपनी मैंगो सेवा को सक्षम करने के लिए systemctl कमांड का उपयोग कर सकते हैं।

ऐसी सेवा बनाएँ

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

फ़ाइल में सामग्री रखें

[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

उसके बाद आप जैसे सर्विस कमांड का उपयोग कर पाएंगे

sudo service mongod start|stop|restart

और फिर यदि आप इसे मशीन बूट पर बनाना चाहते हैं, तो आप मोंगॉड फाइल को बना सकते हैं /etc/init.d/


1

chkconfig --levels 235 mongod on?

जहाँ mongodb आपकी सेवा का नाम है


2
10gen MongoDB वितरण डिफ़ॉल्ट रूप से सिस्टम-वी शैली init स्क्रिप्ट का उपयोग नहीं करता है (हालांकि एक प्रदान की गई है), /etc/init/mongodb.confइसके बजाय संपादित करें ।
किन्नर

@kynan इसे कैसे संपादित करें? मैं mongod.conf फ़ाइल में क्या बदल / जोड़ सकता हूँ?
केवली


1

मैंने इस पोस्ट को एक नए शार्पिंग रिग अप और रनिंग प्राप्त करने के लिए एक शुरुआती बिंदु के रूप में लगातार उपयोग किया है। इसमें अपस्टार्ट को कॉन्फ़िगर करने पर एक अनुभाग शामिल है जिसे मैंने भी उपयोग किया है।

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


1
कृपया "केवल बाहरी लिंक" पोस्ट न करें। यह संभव है कि भविष्य में बाहरी लिंक नीचे जा सकता है और यह उत्तर तब अधूरा होगा। लिंक के अलावा, कृपया लेख के प्रासंगिक भाग को यहां पोस्ट करें: उदा। उस हिस्से को पोस्ट करें जो दिखाता है "सिस्टम शुरू होने पर MongoDB सर्वर कैसे शुरू करें?" ऊपर की ओर का उपयोग कर।
धांधली

1

यदि आप MongoDB को MongoDB उबंटू इंस्टॉलेशन गाइड मेंapt-get वर्णित के साथ स्थापित करते हैं , तो यह एक बुनियादी स्टार्टअप स्क्रिप्ट और कॉन्फिगर फाइल के साथ आएगा। (एक विन्यास फाइल का उपयोग अत्यधिक अनुशंसित है)

आप यहां एक पुरानी पोस्ट के लिए भी देख सकते हैं जो एक init.dस्क्रिप्ट से लिंक करती है ।

या तो मामले में, मूल आधार यह है कि आप एक सेवा स्थापित कर रहे हैं और फिर कंप्यूटर के साथ स्टार्ट-स्टॉप को कॉन्फ़िगर कर रहे हैं। यह सर्वरों के लिए बहुत सामान्य तकनीक है, वास्तव में ऐसा करने के लिए बहुत सारे ट्यूटोरियल हैं।


2
अब 16.04 में मामला नहीं है
chovy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.