रेडिस सर्वर को कैसे चालू रखें


83

मैं नोडज एप्लिकेशन में सत्र समर्थन के लिए रेडिस का उपयोग कर रहा हूं। मैंने रेडिस सर्वर स्थापित किया है और यह तब काम करता है जब मैं रेडिस-सर्वर चलाता हूं, लेकिन जब मैं टर्मिनल रेडिस बंद करता हूं और काम नहीं करता है। टर्मिनल बंद करने के बाद मैं रेडिस सर्वर को कैसे चालू रख सकता हूं?

जवाबों:


73

रेडिस को डेमॉन के रूप में लॉन्च करने का सबसे आसान तरीका कॉन्फ़िगरेशन फ़ाइल को संपादित करना और निम्नलिखित पंक्ति को बदलना है:

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

जब आप इसे लॉन्च करते हैं तो रेडिस-सर्वर कमांड लाइन पर कॉन्फ़िगरेशन फ़ाइल प्रदान करना सुनिश्चित करें।

रेडिस वितरण में कॉन्फ़िगरेशन फ़ाइल का एक उदाहरण प्रदान किया गया है।


मैंने यह देखा कि आप इसे एक डेमन के रूप में कैसे चलाते हैं, लेकिन फिर इसे एक डेमन के रूप में चलाने के लिए आप किस कमांड का उपयोग करते हैं?
माइकल फेंडर

यह प्लेटफॉर्म और ओएस वितरण पर निर्भर करता है।
दिदिर स्पेज़िया

अगले खोज परिणाम नीचे digitalocean.com/community/tutorials/…
Nick

11
इस उत्तर के साथ कुछ समस्याएं हैं: 1) यह उस उपयोगकर्ता को नहीं बताता है जहां कॉन्फ़िगरेशन फ़ाइल संग्रहीत है। 2) यह नहीं कहता कि यह उत्तर किस प्लेटफ़ॉर्म पर लागू होता है (यदि कॉन्फ़िगरेशन फ़ाइल के लिए अलग-अलग स्थान हैं, तो कम से कम यह प्रदान करने के लिए कि आपने इसे किस प्लेटफ़ॉर्म पर स्थापित किया है) 3) यह भी नहीं कहता कि इसका नाम क्या है कॉन्फ़िगरेशन फ़ाइल है
जॉर्ज स्टॉकर

आपके उत्तर ने मुझे एक विचार दिया, जिसने मेरे मुद्दे को हल कर दिया। मेरे पास daemonizeहां करने का विकल्प था और इसके डॉकटर कंटेनर को जीवित रखने की कोशिश कर रहा था, -D FOREGROUNDलेकिन यह काम नहीं कर रहा था और कंटेनर बाहर निकल रहा था। मैंने इस विकल्प से छुटकारा पा लिया और daemonizeविकल्प को वापस नहीं में बदल दिया , और यह काम किया, कंटेनर को जीवित रखा गया है।
स्टीफन

194

और, यदि आप एक त्वरित विकल्प चाहते हैं, तो दौड़ें redis-server --daemonize yes:।


2
क्या मैं पूछ सकता हूं कि इसमें और क्या अंतर है redis-server &?
उड्यूस

4
@ यूड्यूस यदि आपने इसे &अंत में चलाया , तो जब आप टर्मिनल से बाहर निकलते हैं तो सर्वर प्रक्रिया को मार दिया जाएगा। stackoverflow.com/a/15595391/6263317
जॉन डिएटन

1
@JonDeaton स्पष्टीकरण के लिए धन्यवाद, लेकिन फिर nohup redis-server &बनाम का उपयोग करने के बारे में क्या redis-server --daemonize? मेरा मतलब है, ऐसा लगता है कि उपयोग किए बिना समान कार्यक्षमता को प्राप्त करने का कोई तरीका है --daemonizeऔर उस विकल्प की वास्तव में आवश्यकता नहीं है।
उद्यूस

22

जैसा कि @DidierSpezia ने अपने उत्तर में बताया है,

daemonize yesRedis conf फ़ाइल में सेट करें । daemonize yesRedis conf फ़ाइल में सेट करें /path/to/redis.confआम तौर पर यह वहाँ पर होना चाहिए /etc/

तथा :

फिर रेडिस-सर्वर को एक तर्क के रूप में फ़ाइल के साथ ट्रिगर करें:

./redis-server /etc/redis.conf

अद्यतन आप सीधे demonizeध्वज के साथ रेडिस को भी चला सकते हैं

redis-server --daemonize yes

-1

लिनक्स में मैं खिड़कियों के बारे में निश्चित नहीं हूं। पृष्ठभूमि में लालियों को चलाने के लिए nohup का उपयोग करें। nohup का उपयोग करके पृष्ठभूमि में लाल रंग चलाएं

  1. रेडिस src डाइरेक्टरी पर जाएं, मेरे मामले में यह / ऑप्ट / रेडिस-स्टेबल / src है
  2. कमंडल चलाएंnohup ./redis-server &
  3. अब पृष्ठभूमि में रेडिस शुरू हो गए
  4. अब बाहर निकलने के लिए ctrl + c दबाएं और लॉग को nohup.out फ़ाइल में प्रिंट किया जाता है, आप उसी को मॉनिटर करने के लिए टेल कर सकते हैं
  5. लाल रंग के लॉग देखने के लिए टेल -फ नोहअप का उपयोग करें

@domdambrogia Nohup का उपयोग करते हुए यह पृष्ठभूमि में चलने वाला नहीं होगा। लॉग के लिए
nohup.out की

1
आप सही हैं, मैं बस आपके उत्तर के बिना एम्परसेंड इनलाइन कोड पढ़ता हूं। मैं अपनी टिप्पणी हटा दूंगा!
डोमडम्ब्रोगिया

@MohammedIrfanTirupattur: लेकिन यह इसे डेमन के रूप में नहीं जानता है! टर्मिनल बंद होने पर यह मारा जाता है
आरिश रमेश

@AishishRamesh नहीं यह नहीं है .. यह पृष्ठभूमि में चल रहा होगा न ही एम्परसेंड का उपयोग करने के लिए भूल जाओ और साथ ही आप वर्तमान निर्देशिका में nohup.log से लॉग की जांच कर सकते हैं
मोहम्मद इरफान तिरुपत्तूर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.