मैं MongoDB कैसे सेट कर सकता हूं ताकि यह विंडोज सेवा के रूप में चल सके?
मैं MongoDB कैसे सेट कर सकता हूं ताकि यह विंडोज सेवा के रूप में चल सके?
जवाबों:
मुझे लगता है कि यदि आप इसे --install
कमांड लाइन स्विच के साथ चलाते हैं , तो यह इसे विंडोज सर्विस के रूप में स्थापित करता है।
mongod --install
यह इस धागे को पहले पढ़ने लायक हो सकता है । जब प्रासंगिक रजिस्ट्री कुंजी लिखी जाती है, तो सापेक्ष / निरपेक्ष पथों के साथ कुछ समस्याएं होती हैं।
net start MongoDB
कई घंटों की कोशिश के बाद, मैंने आखिरकार ऐसा किया।
सुनिश्चित करें कि आपने <MONGODB_PATH>\bin
निर्देशिका को सिस्टम चर में जोड़ा हैPATH
पहले मैंने इस कमांड को अंजाम दिया:
D:\mongodb\bin>mongod --remove
फिर मैंने प्रशासक के रूप में कमांड प्रॉम्प्ट खोलने के बाद इस कमांड को निष्पादित किया:
D:\mongodb\bin>mongod --dbpath=D:\mongodb --logpath=D:\mongodb\log.txt --install
उसके बाद कमांड प्रॉम्प्ट में वहीं पर निष्पादित करें:
services.msc
और MongoDB सेवा की तलाश करें और स्टार्ट पर क्लिक करें।
यदि आप ऐसा नहीं करते हैं, तो आपकी लॉग फ़ाइल ( D:\mongodb\log.txt
उपरोक्त उदाहरण में) में इस तरह की लाइनें होंगी:
2016-11-11T15:24:54.618-0800 I CONTROL [main] Trying to install Windows service 'MongoDB'
2016-11-11T15:24:54.618-0800 I CONTROL [main] Error connecting to the Service Control Manager: Access is denied. (5)
और यदि आप गैर-व्यवस्थापक कंसोल, (अर्थात net start MongoDB
या Start-Service MongoDB
PowerShell में) से सेवा शुरू करने का प्रयास करते हैं , तो आपको इस तरह की प्रतिक्रिया मिलेगी:
System error 5 has occurred.
Access is denied.
या यह:
Start-Service : Service 'MongoDB (MongoDB)' cannot be started due to the following error: Cannot open MongoDB service
on computer '.'.
At line:1 char:1
+ Start-Service MongoDB
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
ServiceCommandException
+ FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceComman
net start MongoDB
उपयोग करने के बजाय इसके साथ भी शुरू कर सकते हैं services.msc
। ( mongod
मेरे लिए सिफारिश की है कि।)
न केवल --install
,
जरूरत भी है --dbpath
और--logpath
और रिबूट ओएस के बाद आपको मैन्युअल रूप से "mongod.lock " को हटाना होगा
mongod.lock
बग मेरेWindows 8 x64
अन्य उत्तरों के विपरीत यह होगा ।।
सिस्टम रेबोट / रेस्टार्ट पर स्वचालित रूप से सेवा शुरू करें
(1) MongoDB स्थापित करें
(२) राह में बिन जोड़ो
(3) C: \ data \ db बनाएँ
(4) c: \ data \ log बनाएँ
(5) सामग्री के साथ c: \ data \ mongod.cfg बनाएं ..
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
(६) रीबूट पर ऑटो स्टार्ट होने वाली सर्विस बनाने के लिए .. RUN AS ADMIN ।।
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
(() सेवा शुरू करो ।। RUN AS ADMIN ।।
net start MongoDB
महत्वपूर्ण: भले ही यह कहता है कि 'MongoDB सेवा सफलतापूर्वक शुरू की गई थी' यह विफल हो सकता है
नियंत्रण कक्ष> सेवाओं की दोबारा जाँच करने के लिए, सुनिश्चित करें कि MongoDB सेवा की स्थिति 'रनिंग' है
यदि नहीं, तो विफलता के कारण के लिए C: \ data \ log \ mongod.log पर अपनी लॉग फ़ाइल की जाँच करें और इसे ठीक करें
(नियंत्रण कक्ष> सेवाओं, उपयोग के माध्यम से MongoDB शुरू न करें .. शुद्ध शुरुआत MongoDB)
(() अंत में, अपनी मशीन को MongoDB रनिंग से पुनरारंभ करें और यह अभी भी पुनरारंभ पर चल रही होगी
यदि आप इसे कभी मारना चाहते हैं ..
net stop MongoDB
sc.exe delete MongoDB
3.4
करने के लिए 3.6
इस आदेश में संस्करणsc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\data\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
नीचे दिए गए चरण विंडोज पर लागू होते हैं।
एक प्रशासनिक में नीचे भागो cmd
mongod --remove
यह मौजूदा MongoDB सेवा (यदि कोई हो) को हटा देगा।
mongod --dbpath "C:\data\db" --logpath "C:\Program Files\MongoDB\Server\3.4\bin\mongod.log" --install --serviceName "MongoDB"
सुनिश्चित करें कि C:\data\db
फ़ोल्डर मौजूद है
इसके साथ सेवाएं खोलें:
services.msc
MongoDB खोजें -> राइट क्लिक -> प्रारंभ
विंडोज सेवा के रूप में मोंगोडब चलाने के लिए आप नीचे दिए गए कमांड का उपयोग कर सकते हैं
"C:\mongodb\bin\mongod" --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
यदि आप डिफ़ॉल्ट मापदंडों के साथ मोंगॉडब का उपयोग करते हैं, तो आप इन मूल्यों का उपयोग कर सकते हैं:
इस आदेश के बारे में अधिक जानकारी यहाँ है
मैं सभी जवाब करने की कोशिश की और फिर किया था जिस तरह से https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#configure-a-windows-service-for-mongodb-community-edition यह वर्णन ।
एक कॉन्फ़िग फ़ाइल का उपयोग करें ...
"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" --install
यह PowerShell स्क्रिप्ट डाउनलोड और MongoDB को Windows सेवा के रूप में स्थापित करता है:
Set-ExecutionPolicy RemoteSigned
$mongoDbPath = "C:\MongoDB"
$mongoDbConfigPath = "$mongoDbPath\mongod.cfg"
$url = "http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.4.9.zip"
$zipFile = "$mongoDbPath\mongo.zip"
$unzippedFolderContent ="$mongoDbPath\mongodb-win32-x86_64-2008plus-2.4.9"
if ((Test-Path -path $mongoDbPath) -eq $True)
{
write-host "Seems you already installed MongoDB"
exit
}
md $mongoDbPath
md "$mongoDbPath\log"
md "$mongoDbPath\data"
md "$mongoDbPath\data\db"
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "dbpath=C:\MongoDB\data\db`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "logpath=C:\MongoDB\log\mongo.log`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "smallfiles=true`r`n")
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "noprealloc=true`r`n")
$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($url,$zipFile)
$shellApp = New-Object -com shell.application
$destination = $shellApp.namespace($mongoDbPath)
$destination.Copyhere($shellApp.namespace($zipFile).items())
Copy-Item "$unzippedFolderContent\*" $mongoDbPath -recurse
Remove-Item $unzippedFolderContent -recurse -force
Remove-Item $zipFile -recurse -force
& $mongoDBPath\bin\mongod.exe --config $mongoDbConfigPath --install
& net start mongodb
यही एक चीज थी जिसने मेरे लिए काम किया। जैसा कि सब कुछ एक पूर्ण पथ होना था:
C:\Program Files\MongoDB\Server\3.2\bin>mongod --install --dbpath=c:/data/db --logpath=c:/data/logs/log.txt
मुझे भी इससे भागना था admin cmd
mongod --install
त्रुटि के परिणामस्वरूप अनुशंसित तरीका :
2015-12-03T18:18:28.896+0100 I CONTROL --install has to be used with a log file for server output
स्थापित करने के बाद C:\mongodb
आपको केवल लॉगपथ जोड़ने की आवश्यकता है:
mongod --install --logpath C:\mongodb\logs\mongo.log
लॉगफ़ाइल के लिए पथ मौजूद होना चाहिए और यह एक पूर्ण Windows पथ होना चाहिए। फिर आप टाइप करके MongoDB सेवा शुरू करें:
net start MongoDB
का उपयोग करने पर विचार करें
mongod --install --rest --master
मानगो DB: 3.6 पर कार्य करना
(1) MongoDB स्थापित करें
(2) पर्यावरण पथ चर के लिए बिन जोड़ें
(३) बनाना c:\data\db
(४) सृजन c:\data\mongod.log
(5) bin
फ़ोल्डर पर कमांड के नीचे चलाएँ
।
(६) सेवा के रूप में मोंगो डीबी शुरू करना
नेट शुरू MongoDB
(() अंत mongo
में कमांड लाइन में रन करने के लिए मानगो खोल खुला है या नहीं।
1) echo logpath=F:\mongodb\log\mongo.log > F:\mongodb\mongod.cfg
2) dbpath=F:\mongodb\data\db [add this to the next line in mongod.cfg]
C:\>F:\mongodb\bin\mongod.exe –config F:\mongodb\mongod.cfg –install
इसी से मेरा काम बना है:
sc.exe create MongoDB binPath= "d:\MongoDB\bin\mongod.exe --service --config=d:\MongoDB\bin\mongod.config" displayname= "MongoDB 2.6 Standard" start= "auto"
मैंगो प्रलेखन में वर्णित बिनपाथ से बचना मेरे लिए असफल रहा
अनुत्तीर्ण होना:
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB 2.6 Standard\mongod.cfg\"" DisplayName= "MongoDB 2.6 Standard" start= "auto"
सबसे सरल तरीका है,
C:\data\db
C:\data\db\log.txt
ओपन कमांड प्रॉम्प्ट "रन ऐज़ एडमिनिस्ट्रेटर" के रूप में और सुनिश्चित करें कि मोगोडब बिन निर्देशिका पथ सही है और लिखें
C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --install mongod --dbpath="c:\data\db" --logpath="c:\data\db\log.txt"
मैंगोडब सेवा शुरू करें:
net run MongoDB
MongoDB 3.4 पर काम करना [Windows]
इस कॉन्फ़िगरेशन का उपयोग करके C: /mongodb/mongodb.config में एक फ़ाइल बनाएँ:
storage:
engine: wiredTiger
dbPath: "C:/mongodb/data"
directoryPerDB: true
journal:
enabled: true
systemLog:
destination: file
path: "C:/mongodb/data/mongod.log"
logAppend: true
timeStampFormat: iso8601-utc
net:
bindIp: 127.0.0.1
port: 27017
wireObjectCheck : false
एक सेवा के रूप में MongoDb को स्थापित करने के लिए, इस कमांड को एडमिन पावर के साथ पावरशेल में चलाएं
mongod --config = "C: \ mongodb \ mongodb.config" - स्थापना - सेवा
Services.msc खोलें और MongoDb की तलाश करें, फिर इसे शुरू करें
मैं संस्करण 2.4.9 पर हूं और एक विन्यास फाइल का उपयोग कर रहा हूं। यह सेवा तब तक शुरू नहीं होगी जब तक कि मैं रिक्त स्थान के साथ कॉन्फ़िगर फ़ाइल में बराबर चिह्न को घेर नहीं लेता:
dbpath = D:\Mongo data
logpath = C:\mongodb\logs\mongo.log
logappend = true
मूल रूप से मेरे पास था:
logpath=C:\mongodb\logs\mongo.log
मुझे यह भी पता चला कि उस सेवा को स्थापित करते समय जिसे आपको कॉन्फ़िगर फ़ाइल के लिए एक निरपेक्ष पथ का उपयोग करना होगा जैसे:
c:\mongodb\bin\>mongodb.exe C:\mongodb\bin\mongod.conf --install
रिक्त स्थान के साथ एक dbpath के आसपास उल्टे अल्पविराम लगाने के लिए परीक्षा न करें । जब आप नेट प्रारंभ MongoDB निष्पादित करते हैं तो सेवा शुरू होती दिखाई देगी, लेकिन यह समाप्त हो जाएगी। पुष्टि के लिए लॉग फ़ाइलों की जांच करें कि सेवा वास्तव में शुरू हो गई है।
मैंने पाया कि आपको पास होना चाहिए: dbpath, config और logfile को mongod में स्थापित ध्वज के साथ
उदाहरण :
mongod --dbpath=c:\data\db --config=c:\data\db\config.cfg --logpath=c:\data\db\log.txt --install
नोट: मैं अपने पथ चर में mongod पथ है।
आप इस सेवा को नियंत्रित कर सकते हैं:
net start mongodb
net stop mongodb
ये Windows सेवा के रूप में MongoDB स्थापित करने के चरण हैं:
एक लॉग डायरेक्टरी बनाएं, जैसे C:\MongoDB\log
एक डीबी निर्देशिका बनाएँ, जैसे C:\MongoDB\db
निम्नलिखित लाइनों के साथ एक कॉन्फ़िगरेशन फ़ाइल तैयार करें
dbpath=C:\MongoDB\db
logpath=C:\MongoDB\log
"C: \ MongoDB \" फ़ोल्डर में नाम mongod.cfg के साथ कॉन्फ़िगरेशन फ़ाइल रखें
निम्न आदेश आपके ऊपर Windows सेवा स्थापित करेगा
sc.exe create MongoDB binPath= "\"C:\MongoDB\Server\3.4\bin\mongod.exe\" --service --config=\"C:\MongoDB\mongod.cfg\" DisplayName= "MongoDB 3.4" start= "auto"
एक बार जब आप यह कमांड चलाते हैं, तो आपको मिल जाएगा [SC] CreateService SUCCESS
कमांड प्रॉम्प्ट पर निम्नलिखित कमांड चलाएँ
net start MongoDB
यदि आप एक व्यवस्थापक कमांड प्रॉम्प्ट से MSI डाउनलोड का उपयोग करके MongoDB 2.6.1 या नए को स्थापित करते हैं , तो आपके लिए एक सेवा परिभाषा स्वचालित रूप से बनाई जानी चाहिए।
MongoDB प्रलेखन में ज़रूरत पड़ने पर आपको Windows सेवा परिभाषा को मैन्युअल रूप से बनाने में आपकी सहायता करने के लिए एक ट्यूटोरियल भी है ।
यह उत्तर उन लोगों के लिए है जिन्होंने पहले से ही MSI इंस्टॉलर का उपयोग करके mongo DB स्थापित किया है।
मान लें कि आपका डिफ़ॉल्ट इंस्टॉल स्थान "C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin" है
एक खिड़की सेवा के रूप में मानगो चलाने के लिए कदम
cd C:\Program Files\MongoDB\Server\3.2\bin
(ठीक से जांच करें, क्योंकि आपके पास एक अलग संस्करण स्थापित हो सकता है, और 3.2 नहीं)।net start MongoDB
services.msc
और जांचें कि क्या Mongo एक सेवा के रूप में चल रहा है।System error 2 has occurred. The system cannot find the file specified.
mongod, mongodb के रूप में अच्छी तरह से कोशिश की।
mongod --config "C:\Program Files\MongoDB\Server\3.6\mongod_primary.cfg" --install --serviceName "MongoDB_Primary" --serviceDisplayName "MongoDB Primary"
विंडोज़ सेवाओं की जाँच करें
यदि आपके पास मोंगो के लिए सेवा है, तो इसे चलाने की कमांड द्वारा हटा दें
mongod --remove
bellow सामग्री के साथ mongo.cfg फ़ाइल बनाएँ
systemLog:
गंतव्य: फ़ाइल
पथ: c: \ data \ log \ mongod.log
संग्रहण:
dbPath: c: \ data \ db
पथ: जहाँ आप लॉग
डेटा संग्रहीत करना चाहते हैं dbPath: आपकी डेटाबेस निर्देशिका
उसके बाद bellow कमांड चलाएं
sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB\Server\3.2\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
BinPath: mongodb इंस्टालेशन डायरेक्टरी
कॉन्फिग : .cfg फाइल एड्रेस
DisplayName: आपकी सेवा का नाम
सेवा शुरू करें
net start MongoDB
अब हर काम हो गया। आनंद लो इसका
मेरे मामले में, मैं निम्नलिखित सामग्री के साथ mongd.exe के बगल में mongod.cfg बनाता हूं।
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: D:\apps\MongoDB\Server\4.0\data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: D:\apps\MongoDB\Server\4.0\log\mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
फिर मैं सेवा बनाने के लिए या तो दो कमांड चलाता हूं।
D:\apps\MongoDB\Server\4.0\bin>mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg --install
D:\apps\MongoDB\Server\4.0\bin>net stop mongodb
The MongoDB service is stopping.
The MongoDB service was stopped successfully.
D:\apps\MongoDB\Server\4.0\bin>mongod --remove
2019-04-10T09:39:29.305+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-04-10T09:39:29.309+0800 I CONTROL [main] Trying to remove Windows service 'MongoDB'
2019-04-10T09:39:29.310+0800 I CONTROL [main] Service 'MongoDB' removed
D:\apps\MongoDB\Server\4.0\bin>
D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "\"D:\apps\MongoDB\Server\4.0\bin\mongod.exe\" --service --config=\"D:\apps\MongoDB\Server\4.0\bin\mongod.cfg\""
[SC] CreateService SUCCESS
D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The MongoDB service is starting..
The MongoDB service was started successfully.
D:\apps\MongoDB\Server\4.0\bin>
निम्नलिखित सही नहीं हैं, ध्यान दें कि बच गए उद्धरण आवश्यक हैं।
D:\apps\MongoDB\Server\4.0\bin>sc.exe create MongoDB binPath= "D:\apps\MongoDB\Server\4.0\bin\mongod --config D:\apps\MongoDB\Server\4.0\bin\mongod.cfg"
[SC] CreateService SUCCESS
D:\apps\MongoDB\Server\4.0\bin>net start mongodb
The service is not responding to the control function.
More help is available by typing NET HELPMSG 2186.
D:\apps\MongoDB\Server\4.0\bin>
Plz Mongo DB में चरणों का प्रयास करें: 3.6 और विंडोज 10
mongod --remove
mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --service
mongod --dbpath=C:/data/db --port 27017 --logpath C:/data/log/log.txt --install
net start MongoDB