लिनक्स / OS X पर मोंगॉड सेवा शुरू करने का सही तरीका क्या है?


136

मैंने मोंगॉडब स्थापित किया है और इसे चलाने में सक्षम है, इसके साथ काम करते हैं, सरल डीबी पढ़ते हैं / टाइप सामान लिखते हैं। अब मैं एक सेवा के रूप में मोंगॉड को चलाने के लिए अपने मैक को स्थापित करने की कोशिश कर रहा हूं।

मुझे इसके जवाब में "कमांड नहीं मिली":

 init mongod start

के जवाब में:

~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service

और अगर मैं कोशिश करूँ:

~: launchctl start mongod
launchctl start error: No such process

तो जाहिर है मैं थोड़ा इधर-उधर हो रहा हूं। अगला कदम कुछ काम करने तक यादृच्छिक वर्णों में टाइपिंग करने लगता है। कमांड जो काम करता है वह है: mongod --quiet &मुझे यकीन नहीं है, शायद यह वह तरीका है जो आप इसे करने वाले हैं? हो सकता है कि मुझे बस 'शांत मोड' > /logs/mongo.logसे हटाकर कमांड लाइन के अंत में जोड़ना चाहिए?

मैं एक मैक पर एक विकास के वातावरण का निर्माण कर रहा हूँ, एक लिनक्स सर्वर पर एक ही काम करने के इरादे से। मैं बैश कमांड्स के बारे में निश्चित नहीं हूं। अन्य सभी खोजें जो मैं जवाब देने की कोशिश के साथ करता हूं, मुझे विंडोज़ मशीनों के लिए सलाह देते हैं।

शायद किसी को कमांडों के लिनक्स संस्करण का पता है?

बहुत बहुत धन्यवाद


मैंने इस लिंक के साथ विंडोज पर किया है ( stackoverflow.com/questions/2438055/… ), सुनिश्चित नहीं है कि मैक ओएस पर भी ऐसा ही हो।
स्कॉट

धन्यवाद स्कॉट, नहीं, मैंने भी देखा और अपने धागे से सामान की कोशिश कीerror command line: unknown option install
एलेक्स C

जवाबों:


129

हाल ही में बनाया गया mongodb समुदाय संस्करण के साथ, यह सीधा है।

जब आप काढ़ा के माध्यम से स्थापित करते हैं, तो यह आपको बताता है कि क्या करना है। नई लॉन्च कंट्रोल फ़ाइल बनाने की कोई आवश्यकता नहीं है।

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
  ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M

क्या mongodविंडो सर्वर के माध्यम से प्रदर्शन जानकारी की जरूरत; क्या इसे लॉन्च एजेंट बनने की ज़रूरत है या क्या यह लॉन्च डेमॉन बनाने के लिए पर्याप्त है ?
मारियस ब्यूट्यू

23
OSX उपयोगकर्ताओं के लिए शीर्ष: मैंने होमब्रे के माध्यम से मोंगो को स्थापित किया और इसमें शामिल किया गया /usr/local/Cellar/mongodb/2.4.5-x86_64/homebrew.mxcl.mongodb.plist(और मेरी स्थापना के लिए ठीक से कॉन्फ़िगर किया गया था)। बस की नकल की homebrew.mxcl.mongodb.plistLaunchAgents में और इन शेष निर्देशों का पालन किया (प्रतिस्थापन homebrew.mxcl.mongodbके लिए org.mongodb.mongod) और यह बहुत अच्छा काम करता है।
जैकोब

5
आप मारियो अलेमी के जवाब के लिए बेहतर स्क्रॉल करेंगे;)
ऑक्टेवियन

/Library/LaunchAgents/homebrew.mxcl.mongodb.plist: ऐसी कोई फ़ाइल या निर्देशिका नहीं
user269867

सबसे पहले: MongoDB का अपना आधिकारिक होमब्रेव टैप है जिसे आपको समुदाय संस्करण को स्थापित करने के लिए उपयोग करना चाहिए। $ brew tap mongodb/brewतो का उपयोग कर स्थापित करें $ brew install mongodb-community। सेवाओं के लिए, यदि आप चलाते हैं$ brew services Homebrew अब है कि नल शामिल है, तो कुछ भी करने की कोई जरूरत नहीं है। इसके अलावा, स्टार्टअप सेवाओं के बारे में, अगर आपको लॉग इन करने के बाद बस MongoDB की आवश्यकता है (एक देव सर्वर के रूप में उत्पादन सर्वर नहीं है), ~/Library/LaunchAgents/निर्देशिका का उपयोग करें और न कि सिस्टम /Library/LaunchDeamonsको बाद वाले विशेषाधिकारों की आवश्यकता है।
crewer

152

संपादित करें: आपको अब brew services start mongodbगेरगो के उत्तर के रूप में उपयोग करना चाहिए ...

जब आप मोंगॉडब स्थापित / अपग्रेड करते हैं, तो काढ़ा आपको बताएगा कि क्या करना है:

लॉन्च शुरू करने के लिए लॉगिन पर मोंगोडब करें:

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

फिर अब मोंगोडब लोड करने के लिए:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

या, यदि आप चाहते हैं / लॉन्चर की आवश्यकता नहीं है, तो आप बस चला सकते हैं:

    mongod

यह पूरी तरह से काम करता है।


मैंने वह निर्देश नहीं देखा था! यह मैक ओएसएक्स 10.8.4 पर मेरे लिए पूरी तरह से काम करता है, मुझे लगता है कि मैंने इसे ब्रू के साथ स्थापित किया है। स्वीकार किए गए उत्तर में जैकब की टिप्पणी ने एक अज्ञात फ़ाइल की ओर इशारा किया जब मैंने इसे आज़माया।
मैट फ्लेचर

5
मैं स्वीकृत उत्तर पर इस समाधान को पसंद करता हूं। उपर्युक्त उत्तर में प्लॉपी की नकल करना मूंगो को अद्यतन करते समय चीजों को थोड़ा कठिन बना देता है; आपको आवश्यकतानुसार पथ अपडेट करना याद रखना होगा। हालांकि homebrew द्वारा सलाह के अनुसार एक सिमलिंक का उपयोग करना आपके लिए इस बात का ध्यान रखता है। मैं इस दृष्टिकोण है, और इसके बाद के संस्करण (homebrew.mxcl.mongodb साथ org.mongodb.mongod की जगह) जवाब से उपनाम का इस्तेमाल किया, और चीजों को महान काम
verboze

2
मैंने इस समाधान की कोशिश की और डेटाबेस मैं "गायब" का उपयोग कर रहा था! मेरा मानना ​​है कि यही कारण है: होमब्रे द्वारा प्रदान की गई डिफ़ॉल्ट प्लीस्ट, /usr/local/etc/mongod.conf पर मोंगॉड कॉन्फ़िगरेशन को संग्रहीत करती है। यह कॉन्फ़िगरेशन डिफ़ॉल्ट / डेटा / डीबी के बजाय dbpath को / usr / स्थानीय / var / mongodb निर्दिष्ट करता है। बस इस घटना में यह नोट करना चाहता था यह किसी और के साथ होता है। अपने डेटाबेस को फिर से प्रदर्शित करने के लिए, मुझे प्रतीकात्मक लिंक को उतारना और निकालना पड़ा।
ttemple

1
नोट: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plistअंदर कुछ अजीब हैtmux
kqw

@ किसी भी विचार को कैसे इन सभी को पूर्ववत करें?
टाइमलेस

73

Homebrew का servicesनल launchctlप्रबंधक के साथ सूत्रों को एकीकृत करता है । इसे जोड़ना आसान है:

brew tap homebrew/services

आप इस आदेश के साथ MongoDB लॉन्च कर सकते हैं (यह बूट पर मोंगोडब भी शुरू करेगा):

brew services start mongodb

आप इसका उपयोग stopया भी कर सकते हैं restart:

brew services stop mongodb
brew services restart mongodb

4
जवाब पसंद आया लेकिन पाया कि काढ़ा भविष्य में सेवाओं को हटा देगा। काढ़ा सेवा शुरू करने की चेतावनी चेतावनी: काढ़ा सेवा असमर्थित है और इसे जल्द ही हटा दिया जाएगा।
स्माइल

1
यह दुखद खबर है। अभी के लिए यह केवल पदावनत है, जिसका अर्थ है कि इसे कुछ समय के लिए हटा दिया जाएगा, लेकिन यह अभी भी काम करता है। उम्मीद है कि कोई इसे नल के रूप में बनाए रखने के लिए स्वेच्छा से काम करेगा। जब यह हटा दिया जाएगा, या जब कोई नल उपलब्ध हो जाएगा, तो मैं अपने उत्तर को अपडेट करूंगा।
गेरगो एर्दोसी


इसे पहले ही हटा दिया गया है, क्योंकि मैं देखता हूं कि Error: Unknown command: servicesमैंने इस तरह कब कोशिश की।
iplus26

1
इस उत्तर के लिए धन्यवाद। @ iplus26 यह अभी भी मेरे लिए काम करता है
दीलिप ओगनरोबो बालोगुन

14

यदि आपको लगता है कि इसे ठीक करने के लिए एक साधारण गुई है (जैसा कि मैं करता हूं), तो मैं मोंगोडब प्रीफ-पेन की सिफारिश कर सकता हूं। विवरण: https://www.mongodb.com/blog/post/macosx-preferences-pane-for-mongbb

जीथब पर: https://github.com/remysaissy/mongodb-macosx-prefspane


3

होमबॉव के माध्यम से बस MongoDB स्थापित किया गया है। इंस्टॉलेशन कंसोल के अंत में, आप निम्नानुसार आउटपुट देख सकते हैं:

मंगोल शुरू करने के लिए:

brew services start mongodb

या, यदि आप एक पृष्ठभूमि सेवा नहीं चाहते / चाहते हैं तो आप बस चला सकते हैं:

mongod --config /usr/local/etc/mongod.conf

तो, काढ़ा सेवाएं मोंगोडब शुरू करें , मेरे लिए एक सेवा के रूप में मोंगोबीडी चलाने में कामयाब रहे।


2

मैं मैक पक्ष में चारों ओर देख रहा था। आप यहां इंस्टॉलर का उपयोग करना चाह सकते हैं क्योंकि ऐसा लगता है कि यह मैक ओएस पर स्वचालित रूप से लॉन्च करने के लिए आपके लिए सभी सेटअप करता है। केवल नकारात्मक पक्ष यह है कि ऐसा लगता है कि यह एक पुराने पुराने मैंगो संस्करण का उपयोग कर रहा है।

यह लिंक यहां मैक पर पृष्ठभूमि सेवा के रूप में स्वचालित रूप से लॉन्च होने वाले मोंगो प्राप्त करने के लिए सेटअप की व्याख्या करता है।


1
लिंक अब उपलब्ध नहीं है।
होप्सो

1
यकीन नहीं होता कि यह ठीक वैसा ही था, लेकिन एक ही अवधारणा को समझाने वाले लेख पर जाने के लिए निश्चित लिंक
स्कॉट

0

पहला कदम

अपने linux मशीन में mongodb स्थापित करें

apt स्थापित मोंगोडब-क्लाइंट & amp apt स्थापित मोंगोडब-सर्वर

दूसरा चरण है

यदि आप चाहें तो अपने सिस्टम डिफ़ॉल्ट पथ के बजाय डेटाबेस पथ को बदलें।
तो निम्न चरणों का पालन करें और इसे अपने लिए बदलें।

mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest

और आपके विंडोज़ मशीन में ऐसा ही होता है कि बस एक - स्थापना झंडा लगाओ। आपको एक सफल संदेश प्राप्त करना है।

सादर...


0

MongoDB 4.0 के साथ macOS 10.13.6 पर

मैं मोंगो शेल से लोकलहोस्ट से कनेक्ट नहीं हो पा रहा था

मैंने MongoDB की शुरुआत इसके साथ की:

mongod --config /usr/local/etc/mongod.conf

मैंने पाया कि 'mongod.conf' था:

bindIp: 127.0.0.1

लोकलहोस्ट से 127.0.0.1 तक मेरा जावास्क्रिप्ट कनेक्शन बदलें और यह ठीक काम किया।

ऐसा ही MongoDB Compass के साथ भी हो रहा था।


0

mongod मेरे लिए डेमॉन शुरू करने के लिए काम नहीं कर रहा था, लेकिन बाद में मैं निम्नलिखित भाग गया, यह काम करना शुरू कर दिया:

'mongod --fork --logpath /var/log/mongodb.log'

(यहां से: https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/ )


0

काढ़ा के माध्यम से मोंगोडब स्थापित करने के बाद, इसे ऊपर और चलाने के लिए चलाएं:

mongod --dbpath /usr/local/var/mongodb

2
यह पांच साल पहले उपलब्ध कराए गए @ रेजीव-दिवाकरन का जवाब है। कृपया नया सबमिट करने से पहले मौजूदा उत्तरों की जाँच करना सुनिश्चित करें। यदि कोई मौजूद है जो आपके उसी दृष्टिकोण का सुझाव देता है, तो उचित कार्रवाई यह है कि आप इसे बढ़ाएं - एक विशेषाधिकार जो आप चार और प्रतिष्ठा अंक प्राप्त करने के बाद कमाएंगे, मुझे विश्वास है।
जेरेमी कैनी

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