2011-11-01 12 views
12

मैं nginx/PHP/MongoDB स्टैक का उपयोग कर रहा हूं और दो बैच फ़ाइलों को बनाकर विंडोज़ पर अपने विकास पर्यावरण को स्थापित करने की कोशिश कर रहा हूं।विंडोज पर mongodb सर्वर को कैसे रोकें?

start.bat

cd C:\www\nginx 
start nginx 
cd C:\www\php 
start php-cgi.exe -b 127.0.0.1:9000 
cd C:\www\mongodb 
start mongod 

stop.bat

cd C:\www\nginx 
nginx -s quit 
cd C:\www\php 
taskkill /F /IM php-cgi.exe 
cd C:\www\mongodb 
mongo --eval "use admin; db.shutdownServer(); quit" # this doesn't work 
mongo --eval stop_mongod.js # this doesn't work either 

taskkill का उपयोग रोकने के लिए mongod एक विकल्प नहीं है, के बाद से है कि डेटा भ्रष्टाचार को जन्म दे सकती। कोई सुझाव?

उत्तर

9

मोंगो खोल documentation से:


उपयोग dbname

यह आदेश पटकथा मोड में काम नहीं करता। इसके बजाय आपको कनेक्शन में डेटाबेस को स्पष्ट रूप से परिभाषित करने की आवश्यकता होगी (/ उपरोक्त उदाहरण में dbname)।

db2 = connect("server:27017/otherdbname") 

मैं निम्नलिखित कोड के साथ आ गया है::

वैकल्पिक रूप से, आप भी स्क्रिप्ट के भीतर एक कनेक्शन बना सकते हैं सहेजें stop_mongod.js में निम्नलिखित स्निपेट फ़ाइल:

db = connect("localhost:27017/admin"); 
db.shutdownServer(); 
quit(); 

यदि आवश्यक हो तो कनेक्शन स्ट्रिंग समायोजित करें। फिर कमांड लाइन से या अपने बैच स्क्रिप्ट के भीतर:

mongo stop_mongod.js 
0

मुझे लगता है कि, TASKKILL/IM mongod.exe का उपयोग करके mongodb सर्वर को गर्वपूर्वक समाप्त करने के लिए ठीक है।

15

मुझे यकीन है कि ऐसा करने के लिए एक उचित तरीके से, एक को मार भेजने शायद अपनी मोंगो सर्वर को नुकसान हो सकता है नहीं कर रहा हूँ, और आप की मरम्मत करने की आवश्यकता होगी आपकी दुर्घटना के मामले में डेटाबेस।

हो सकता है कि आप पहले से ही इस सवाल का हल लेकिन यहाँ मैं क्या कर रहा है:

mongo admin --eval "db.shutdownServer()" 

मैं स्वचालित रूप से व्यवस्थापक के संग्रह पर जुड़ा रहा हूँ और अगले, मैं सिर्फ विलुप्त होने को चलाने के लिए है। http://api.mongodb.org/wiki/current/Starting%20and%20Stopping%20Mongo.html

बेस्ट

+4

'मोंगो व्यवस्थापक --eval "db.shutdownServer()"' भी यह करना चाहिए। – StefanMK

+0

यह कुछ मोंगो-ऑन-विंडोज उदाहरणों पर विज्ञापन-प्रसार रखरखाव करने के लिए मेरे लिए अच्छा काम करता है। विंडोज़ "नेट स्टॉप" cmd का उपयोग करने से यह अधिक विश्वसनीय था। – NateJ

5

सर्वर एक टर्मिनल में अग्रभूमि प्रक्रिया के रूप में चल रहा है, इस

Ctrl-C 
दबाकर किया जा सकता है:

यहाँ कैसे MongoDB ठीक से रोकने के लिए के बारे में आधिकारिक कड़ी है

एक रनिंग सर्वर को साफ़ करने के लिए एक और तरीका शट डाउन कमांड का उपयोग करना है,

> use admin 
> db.shutdownServer(); 
0

विंडोज कमांड लाइन से। मैं 64-बिट विंडोज 7 प्रो एसपी 1 पर मोंगोडीबी 3.4 सर्वर का उपयोग कर रहा हूं।

Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Windows\System32>"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --remove 
2017-12-06T08:15:47.883-0600 I CONTROL [main] Trying to remove Windows service 'MongoDB' 
2017-12-06T08:15:47.884-0600 I CONTROL [main] Service 'MongoDB' removed 

MongoDB सेवा कमांड लाइन बनाने के लिए:

configure-a-windows-service-for-mongodb-community-edition

manually-create-a-windows-service-for-mongodb-community-edition

निम्नलिखित सांत्वना कमांड लाइन स्टार्ट-अप पर समाप्त हो जाता है MongoDB:

निम्न लिंक कदम की व्याख्या (नीचे दिखाया गया है) यहां विंडोज रजिस्ट्री में स्थित है:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MongoDB 

जाँच करने के लिए, निम्न कार्य करें:

C:\Windows\System32>sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe\" --service --c 
onfig=\"C:\Program Files\MongoDB\Server\3.4\mongod.cfg\"" DisplayName= "MongoDB" start= "auto" 
[SC] CreateService SUCCESS 

C:\Windows\System32>net start MongoDB 
The MongoDB service is starting. 
The MongoDB service was started successfully. 

C:\Windows\System32>net stop MongoDB 
The MongoDB service is stopping. 
The MongoDB service was stopped successfully. 

C:\Windows\System32>"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --remove 
2017-12-06T08:16:36.504-0600 I CONTROL [main] Trying to remove Windows service 'MongoDB' 
2017-12-06T08:16:36.505-0600 I CONTROL [main] Service 'MongoDB' removed 

C:\Windows\System32> 
संबंधित मुद्दे