मैंने अपने ubuntu सर्वर (16.04) पर mongodb(3.2.18) को AutomationTaskV3 नाम से स्थापित किया था। यह तब काम करता है जब मैं अपने सर्वर पर काम कर रहा होता हूं, लेकिन जब मैं अपने कंप्यूटर से कनेक्ट करने का प्रयास करता हूं तो यह तभी विफल होता है जब सेवा के रूप में मोंगोडब शुरू होता है।

उदाहरण के लिए यदि मैं इस तरह से मोंगोड शुरू करता हूं:

sudo mongod

यह काम करेगा मैं अपने डीबीएस तक पहुंच सकता हूं लेकिन अगर मैं करता हूं:

sudo service mongod start

मेरे लिए अपने कंप्यूटर से कनेक्ट करना असंभव होगा। अन्यथा mongod सेवा की स्थिति ठीक लगती है:

sudo service mongod status

● mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-11-30 17:34:46 UTC; 8min ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 17712 (mongod)
   CGroup: /system.slice/mongod.service
           └─17712 /usr/bin/mongod --quiet --auth --config /etc/mongod.conf

नवंबर 30 17:34:46 ऑटोमेशन टास्कवी3 सिस्टमडी[1]: उच्च-प्रदर्शन, स्कीमा-मुक्त दस्तावेज़-उन्मुख डेटाबेस शुरू किया। नवंबर 30 17:38:09 ऑटोमेशन टास्कवी3 सिस्टमडी[1]: उच्च-प्रदर्शन, स्कीमा-मुक्त दस्तावेज़-उन्मुख डेटाबेस शुरू किया। नवंबर 30 17:39:29 ऑटोमेशन टास्कवी3 सिस्टमडी [1]: उच्च-प्रदर्शन, स्कीमा-मुक्त दस्तावेज़-उन्मुख डेटाबेस शुरू किया।

फिलहाल मैं बिना क्रेडेंशियल के एक्सेस करने की कोशिश कर रहा हूं। यहाँ मेरी mongod.service फ़ाइल:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet  --config /etc/mongod.conf
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false

# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target

और यहाँ मेरी mongod.conf फ़ाइल

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

क्या यह संभव है कि उपयोगकर्ता सही समस्या है? यह अजीब लगता है क्योंकि मैं थॉट्स ट्यूटोरियल्स के चरणों का पालन करता हूं: https://www.linode.com/ डॉक्स/डेटाबेस/मोंगोडब/इंस्टॉल-मोंगोडब-ऑन-उबंटू-16-04 https://docs.mongodb.com/manual/tutorial/install -मोंगोडब-ऑन-उबंटू/

0
Lowteast 30 नवम्बर 2017, 20:49

1 उत्तर

सबसे बढ़िया उत्तर

जैसा कि मैंने टिप्पणी में कहा था कि यह आईपी बाध्यकारी मुद्दा है। तो आप भी इस उपाय को आजमा सकते हैं।

आप ssh टनलिंग का उपयोग करके अपनी रिमोट मशीन के 27017 पोर्ट तक पहुंच सकते हैं क्योंकि यह सबसे आसान तरीका है और यह एक सुरक्षित तरीका भी है।

ssh -L 27017:localhost:27017 username@remoteaddress.com

यह कमांड कहता है कि आपकी स्थानीय मशीन के 27017 पोर्ट को आपकी रिमोट मशीन के localhost:27017 को संबोधित करने के लिए अग्रेषित करें। यदि आपके पास ssh कुंजियाँ सेट अप नहीं हैं, तो आपको पासवर्ड (रिमोट मशीन का) के लिए कहा जाएगा। अब आपको अपने रिमोट मशीन के ssh के लिए संकेत मिल सकता है, इसे तब तक बंद न करें जब तक आप पोर्ट फ़ॉरवर्डिंग को बंद नहीं करना चाहते, अपने टर्मिनल का एक नया टैब खोलें या रोबोमोंगो जिसे आप अब localhost:27017 से कनेक्ट कर सकते हैं। तो यह ऐसा है जैसे आपकी स्थानीय मशीन पर MongoDB स्थापित है, लेकिन वास्तव में, यह ssh का उपयोग करके दूरस्थ मशीन से सेवा दे रहा है।

Ssh टनलिंग के बारे में अधिक जानने के लिए यहाँ पढ़ें: https://www.ssh.com/ssh/tunneling ए>

1
Anand Siddharth 1 पद 2017, 20:28