जो कोई भी उबंटू 16.04 (उबंटू ज़ेनियल ज़ेरस के रूप में भी जाना जाता है) को अपग्रेड या स्थापित करता है, उसने देखा कि कुछ पुरानी सेवाओं ने चलना बंद कर दिया है। यह समस्या संस्करण 15.04 से जानी जाती है, लेकिन मैं उपरोक्त संस्करण पर ध्यान केंद्रित करूंगा।
मोंगोडीबी के साथ मेरा मामला ऐसा था। एक लंबी कहानी बनाने के लिए, छोटा, उबंटू अपस्टार्ट से सिस्टमड में स्थानांतरित हो गया। इन समस्याओं का एक सामान्य समाधान, वापस अपस्टार्ट पर स्विच करना है। मैं उस विकल्प को वास्तविक समाधान नहीं मानता, निश्चित रूप से लंबे समय के लिए नहीं।
समस्या का एक वास्तविक समाधान (IMHO) सिस्टमड स्क्रिप्ट लिखना है जो MongodDB शुरू करेगा। दुर्भाग्य से MongoDB लोगों ने अभी तक एक की आपूर्ति नहीं की थी।
इसलिए मुझे शुरुआत से एक लिखना पड़ा। अपना खुद का एक बनाने के लिए इन चरणों का पालन करें:
sudo su
. का उपयोग करके रूट पर स्विच करें
या निम्नलिखित सभी चरणों के लिए sudo का उपयोग करें।
-
एक सेवा स्क्रिप्ट बनाएं (इस उदाहरण में सेवा का नाम मोंगोडब है)
nano /lib/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 [Install] WantedBy=multi-user.target
आप फ़ाइल को यहाँ से भी डाउनलोड कर सकते हैं:mongodb.service
यहां महत्वपूर्ण क्षेत्रों का त्वरित विवरण दिया गया है:
ExecStart - चलाने की आज्ञा है। Mongo स्वयं को /usr/bin के अंतर्गत स्थापित करता है और कॉन्फ़िगरेशन फ़ाइल /etc
उपयोगकर्ता पर लिखी जाती है - मोंगोड प्रक्रिया का यूआईडी।
समूह - मोंगोड प्रक्रिया का सार। ध्यान दें कि उपयोगकर्ता और समूह इंस्टॉलेशन द्वारा बनाए गए हैं।
अब मोंगोडब शुरू करने के लिए:
sudo systemctl start mongodb
मोंगोडब सेवा उपयोग को रोकने के लिए:
sudo systemctl stop mongodb
स्टार्टअप पर मोंगोडब सक्षम करने के लिए
sudo systemctl enable mongodb.service
यदि आपको उपयोग की जाने वाली सेवाओं को ताज़ा करने की आवश्यकता है:
sudo systemctl daemon-reload