क्या आप 10gen रिपॉजिटरी से या डिफॉल्ट डेबियन / Ubuntu रेपो से भाग रहे हैं? मैं आधिकारिक 10gen रिपॉजिटरी का उपयोग करने की सलाह देता हूं।
इस लिंक को देखें - [10gen MongoDB How-To Install on Ubuntu:] http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ । इस परिवर्तन से पहले के पिछले मैन्गोडब इंस्टॉलेशन को अनइंस्टॉल करना सबसे अच्छा है, जिसके लिए आपको अपने रिपॉजिटरी स्रोत (/etc/apt/source.list में) को संशोधित करने की भी आवश्यकता होगी लेकिन यह ऊपर दिए गए लिंक में भी विस्तृत है। मैं sysvinit पर ऊपर की ओर का उपयोग करने की सलाह देता हूं और संसाधित को हाउ-टू में उल्लिखित किया जाता है।
10gen Ubuntu सेट-अप के साथ, कॉन्फ़िगरेशन फ़ाइल /etc/mongodb.conf में है।
वहाँ कई तरीके हैं कि आप एक अलग mongod प्रक्रिया चला सकते हैं, एक बस इसे cli से चल रहा होगा -
sudo -u mongodb mongod --dbpath /var/tmp/mongotest --logpath /var/tmp/mongotest_log --port 3001 &
जो उत्पादन करेगा ('पीएस' का उपयोग करके)
mongodb 2210 3.3 1.5 259012 15300 pts/0 Dl 11:48 0:00 mongod --dbpath /var/tmp/mongotest --logpath /var/tmp/mongotest_log --port 3001
और आप cli -> mongod --port 3001 के माध्यम से कनेक्ट कर सकते हैं
दूसरा तरीका /etc/mongodb.conf की एक प्रति तैयार कर रहा है -
sudo cp /etc/mongodb.conf /etc/mongodbnew.conf and editing the following lines in the new file -
# mongodbnew.conf
dbpath=/var/lib/mongodbnew
#where to log
logpath=/var/log/mongodb/mongodbnew.log
port = 27018
मैंने dbpath (जहाँ mongodb फ़ाइलों को संग्रहीत किया जाता है) को / var / lib / mongodb से / var / lib / mongodbnew में बदल दिया है; लॉग पथ mongodb.log से mongodbnew.log में बदल गया है और पोर्ट 27017 के डिफ़ॉल्ट से 27018 में बदल गया है (आपको लाइन को अनफॉलो करने के लिए # को भी निकालना होगा)।
मैंने इस कॉन्फ़िगरेशन फ़ाइल के नए नाम को दर्शाने के लिए शीर्ष पंक्ति को भी बदल दिया।
आपको डेटा डायरेक्टरी भी बनानी होगी क्योंकि यह मौजूद नहीं होगी और इसके बिना, मोंगोड प्रक्रिया शुरू नहीं होगी और यह सुनिश्चित करना होगा कि मालिक और समूह mongodb है -
sudo mkdir /var/lib/mongodbnew
sudo chown -R mongodb:mongodb mongodbnew/
इसके अतिरिक्त, अपनी लॉग फ़ाइल के प्रिंट बनाएं और बदलें -
sudo touch /var/log/mongodb/mongodbnew.log && sudo chown mongodb:mongodb /var/log/mongodb/mongodbnew.log
क्ली से अपनी नई मैंगोड प्रक्रिया (पृष्ठभूमि में) शुरू करने के लिए टाइप करें
sudo -u mongodb /usr/bin/mongod --config /etc/mongodbnew.conf &
जो स्क्रीन पर निम्नलिखित भेजें -
"सभी आउटपुट: /var/log/mongodb/mongodbnew.log पर जा रहा है"
जांचें कि मोंगोड प्रक्रियाएं "पीएस" के साथ चल रही हैं -
sysadmin@ubuntu:/var/lib$ ps auwx | grep mongo | egrep -v 'grep|sudo'
mongodb 921 11.3 1.5 627672 15608 ? Ssl 10:56 4:30 /usr/bin/mongod --config /etc/mongodb.conf
mongodb 2137 7.8 1.5 627672 15880 pts/0 Sl 11:36 0:00 /usr/bin/mongod --config /etc/mongodbnew.conf
यह सत्यापित करने के लिए कि आप कनेक्ट कर सकते हैं, मानगो शेल चलाएं -
$ mongo --port 27018
MongoDB shell version: 2.0.5
connecting to: 127.0.0.1:27018/test
>
Lsof के साथ, आपको अब अपनी दो mongod प्रक्रियाओं को देखना चाहिए, मूल 27017 से और नया 27018 से बंधा होना चाहिए।
$ sudo lsof -i :27017
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 921 mongodb 6u IPv4 9066 0t0 TCP *:27017 (LISTEN)
sysadmin@ubuntu:/var/lib$ sudo lsof -i :27018
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 2137 mongodb 6r IPv4 11923 0t0 TCP *:27018 (LISTEN)
यह सुनिश्चित करने के लिए कि दो प्रक्रियाएँ स्टार्ट-अप पर चलती हैं, मूल इनिट कॉन्फ़िगरेशन फ़ाइल की प्रतिलिपि बनाएँ -
sudo cp /etc/init/mongodb.conf /etc/init/mongodbnew.conf
जिसके परिणामस्वरूप दो फाइलें होनी चाहिए जैसे कि -
$ ls -lart /etc/init/mongo*
-rw-r--r-- 1 root root 536 May 8 15:51 /etc/init/mongodb.conf
-rw-r--r-- 1 root root 554 Jun 11 11:43 /etc/init/mongodbnew.conf
नई mongodbnew.conf फ़ाइल को vi या जो भी आप इस तरह दिखना पसंद करते हैं उसका संपादन करें -
## Ubuntu upstart file at /etc/init/mongodbnew.conf
limit nofile 20000 20000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
mkdir -p /var/lib/mongodbnew/
mkdir -p /var/log/mongodbnew/
end script
start on runlevel [2345]
रनलेवल पर रुकना [०६]
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodbnew ]; then . /etc/default/mongodbnew; fi
if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongodbnew.conf; fi
अंत स्क्रिप्ट
मैंने उबंटू 12.04 पर इसका परीक्षण किया है और यह अच्छी तरह से काम करने के लिए प्रकट होता है, जिसमें एक रिबूट भी शामिल है। मैंने इसे स्पष्ट रूप से उत्पादन में नहीं चलाया है। माफी, अगर किसी टाइपो के ऊपर है, लेकिन बहुत सारी जानकारी है और मुझे कुछ याद हो सकता है।
अंत में, यहां रेप्लिका सेट्स पर एक लिंक दिया गया है, जो आपकी मदद कर सकता है क्योंकि यह cli से कई mongod उदाहरण शुरू करने पर उदाहरण आया है - http://www.mongodb.org/display/DOCS/Replica+Set+Tutorial ।