127.0.0.1:6379 पर रेडिस से कनेक्ट नहीं हो सका: होमब्रेव के साथ कनेक्शन ने इनकार कर दिया


120

रेडिस को स्थापित करने के लिए होमब्रे का उपयोग करना लेकिन जब मैं रेडिस को पिंग करने की कोशिश करता हूं तो यह इस त्रुटि को दर्शाता है:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

नोट: मैंने फ़ायरवॉल को बंद करने और कॉन्फ़िडेंस फ़ाइल को संपादित करने की कोशिश की, लेकिन फिर भी पिंग नहीं कर सकता। मैं macOS Sierra और homebrew संस्करण 1.1.11 का उपयोग कर रहा हूं

जवाबों:


281

स्थापित करने के बाद redis, से टाइप करें terminal:

redis-server

और Redis-Server शुरू किया जाएगा


1
हालाँकि, मैं इसे उस पोर्ट / होस्ट को सुनने से कैसे रोकूँ?
अफोलाबी ओलावुवा अकिंवुमी

@AfolabiOlaoluwaAkinwumi कृपया देखें कि मैं रेडिस-सर्वर को कैसे रोक सकता हूं
LuFFy

3
कमांड प्रॉम्प्ट से खिड़कियों के लिए, cd C:\Program Files\Redisऔर फिर redis-server
प्रदीप कुमार प्रभारण

2
पृष्ठभूमि में लगातार रेडिस-सर्वर कैसे चलाएं, मैं ubuntu @LuFFy का उपयोग कर रहा हूं
AATHITH RAJENDRAN

1
@AATHITHRAJENDRAN, इस उत्तर की जाँच करें , मुझे आशा है कि यह मदद करेगा
LuFFy

37

मुझे यह सवाल मिला कि मैं यह जानने की कोशिश कर रहा हूं कि मैं इसे शुरू करने के बाद रेडिस से कनेक्ट क्यों नहीं कर पाया brew services start redis

tl; डॉ

यह निर्भर करता है कि आपकी मशीन कितनी ताज़ी है या स्थापित है, आपको संभवतः एक डिफ़ॉल्ट फ़ाइल या रेडिस चूक के लिए एक निर्देशिका याद आ रही है।

  1. आपको कम से एक कॉन्फ़िग फ़ाइल की जरूरत है /usr/local/etc/redis.conf। इसके बिना फाइल redis-serverशुरू नहीं होगी। आप डिफ़ॉल्ट कॉन्फ़िग फ़ाइल पर कॉपी कर सकते हैं और इसे वहां से संशोधित कर सकते हैं

    cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
    
  2. आपको /usr/local/var/db/redis/अस्तित्व में रहने की आवश्यकता है। आप इसे आसानी से कर सकते हैं

    mkdir -p /usr/local/var/db/redis
    

अंत में सिर्फ रेडिस को फिर से शुरू करें brew services restart redis

आपको यह कैसे पता चलेगा !?

मैं बहुत समय बर्बाद करने की कोशिश कर रहा था अगर रेडिस होमब्रे के माध्यम से चूक का उपयोग नहीं कर रहा था और यह किस पोर्ट पर था। सेवाएं भ्रामक redis-serverथीं क्योंकि भले ही वास्तव में शुरू नहीं हुई थी, brew services listफिर भी "आरंभ" के रूप में रेडिस दिखाएंगे। सबसे अच्छा तरीका उपयोग करना है brew services --verbose start redisजो आपको दिखाएगा कि लॉग फ़ाइल पर है /usr/local/var/log/redis.log। वहां देखने पर मुझे धूम्रपान करने वाली बंदूक मिली

Fatal error, can't open config file '/usr/local/etc/redis.conf'

या

Can't chdir to '/usr/local/var/db/redis/': No such file or directory

शुक्र है कि लॉग ने समाधान को स्पष्ट कर दिया।

क्या मैं बस नहीं चला सकता redis-server?

आपको यकीन है। यदि आप चलते हैं तो यह कभी-कभी एक टर्मिनल लेगा या आपके टर्मिनल को बाधित करेगा redis-server &। इसके अलावा, dump.rdbआप इसे ( pwd) में जो भी निर्देशिका में डालेंगे । मुझे फ़ाइल को हटाने या इसे git में अनदेखा करने पर गुस्सा आ रहा था, इसलिए मुझे लगा कि मैं ब्रू को सेवाओं के साथ काम करने दूंगा।


धन्यवाद, इसने मेरी समस्या को एक लार्वा परियोजना पर हल कर दिया, जहां मुझे कनेक्शन मिल रहा था abstractconnection.php लाइन 155 में इनकार कर दिया
luckyguy73

मुझे एब्स्ट्रैक्शन में एक त्रुटि हो रही थी। एफपी लाइन १५५ भी! पागल।
केविन गगनॉन

क्रिया के साथ शुरू करो मेरे लिए किया था। मैं redis.conf में एक मुद्दा रहा था। धन्यवाद
SangamAngre

18

यदि स्थापित करने के बाद आपको redisहर समय चलाने की आवश्यकता है , तो टर्मिनल में टाइप करें:

redis-server &

उबंटू पर अपस्टार्ट का उपयोग करके लाल रंग की रनिंग

मैं यह समझने की कोशिश कर रहा हूं कि उबंटू पर जमीन से सिस्टम को कैसे सेटअप किया जाए। मैं बस redisबॉक्स पर स्थापित किया गया था और यहां बताया गया है कि मैंने यह कैसे किया और कुछ चीजों को देखने के लिए।

स्थापित करने के लिए:

sudo apt-get install redis-server

यह एक redisउपयोगकर्ता बनाएगा और init.dइसके लिए स्क्रिप्ट स्थापित करेगा। चूंकि upstartअब init.d का उपयोग करने के लिए प्रतिस्थापन है, मुझे लगता है कि मुझे इसे चलाने के लिए परिवर्तित करना चाहिए upstart

इसके लिए डिफ़ॉल्ट init.dस्क्रिप्ट को अक्षम करने के लिए redis:

sudo update-rc.d redis-server disable

फिर /etc/init/redis-server.confनिम्नलिखित स्क्रिप्ट के साथ बनाएँ :

description "redis server"

start on runlevel [23]
stop on shutdown

exec sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf

respawn

यह upstartजानने के लिए कि प्रक्रिया शुरू करने के लिए क्या कमांड चलाना है। अंतिम पंक्ति यह भी बताती upstartहै कि यदि वह मर जाता है तो प्रतिक्रिया देने का प्रयास करता रहे।

एक बात मैं में बदलना पड़ा /etc/redis/redis.confहै daemonize yesकरने के लिए daemonize no। क्या होता है अगर आप इसे नहीं बदलते हैं तो redis-serverकांटा और खुद को डुबो देगा, और मूल प्रक्रिया चली जाती है। जब ऐसा होता है, तो upstartसोचता है कि प्रक्रिया मर गई है / बंद हो गई है और आपके पास प्रक्रिया पर नियंत्रण नहीं होगाupstart

अब आप अपने नियंत्रण के लिए निम्न आदेशों का उपयोग कर सकते हैं redis-server:

sudo start redis-server
sudo restart redis-server
sudo stop redis-server

आशा है कि यह मददगार था!


9

यह आपके रेडिस से जुड़ने का बेहतर तरीका है।

सबसे पहले, इस तरह से रेडिस सर्वर के आईपी पते की जांच करें।

ps -ef | ग्रीप रेडिस

परिणाम एक तरह से "redis 1184 1 0 .... / usr / bin / redis-server 172.xxx:6379 है

और फिर आप इस तरह -h (hostname) विकल्प के साथ रेडिस से कनेक्ट कर सकते हैं।

redis-cli -h 172.xxx


2

मेरे मामले में, यह पासवर्ड था जिसमें कुछ वर्ण थे ', जैसे कि इसे बदलने के बाद सर्वर बिना किसी समस्या के शुरू हुआ।


1

मुझे बस यही समस्या थी क्योंकि मैंने अपनी config फाइल में अनुचित सिंटैक्स का उपयोग किया था। मेरा मतलब जोड़ना था:

maxmemory-policy allkeys-lru

मेरी कॉन्फ़िग फ़ाइल में, लेकिन इसके बजाय केवल जोड़ा गया:

allkeys-lru

जो स्पष्ट रूप से विन्यास फाइल को पार्स करने से रेडिस को रोकता है, जो बदले में मुझे क्ली के माध्यम से कनेक्ट करने से रोकता है। इस वाक्यविन्यास को ठीक करने से मुझे रेडिस से जुड़ने की अनुमति मिली।


1

समस्या के साथ यह मुद्दा था कि डायरेक्टरी मुद्दे को देखने के लिएhomebrew MacOS किसी तरह की अनुमति गायब थी/usr/local/var/log

इसे हल करने के लिए मैंने /usr/local/var/logरेडिस को हटा दिया और पुनः इंस्टॉल कियाbrew reinstall redis


1

पहले आपको कमांड के नीचे सभी रेडिस नोड्स को अप / स्टार्ट करने की जरूरत है, एक के बाद एक सभी गोपनीय फाइलों के लिए। @ नोट: यदि आप क्लस्टर स्थापित कर रहे हैं तो आपके पास 6 नोड्स होने चाहिए, 3 मास्टर होंगे और 3 दास होंगे। क्रिडा-क्लीस स्वचालित रूप से मास्टर और 6 नोड्स में से दास का चयन करेगा - क्लर्क कमांड का उपयोग करके जैसा कि मेरे नीचे के कमांड में दिखाया गया है ।

[xxxxx@localhost redis-stable]$ redis-server xxxx.conf 

फिर भागो

[xxxxx@localhost redis-stable]$ redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

उपरोक्त का उत्पादन इस प्रकार होना चाहिए:

    >>> Performing hash slots allocation on 6 nodes...

सभी चीजों को स्वचालित रूप से सेट करने का दूसरा तरीका: आप अपने लिए हर चीज़ को सेट करने के लिए बर्तनों / क्रिएट-क्लस्टर स्क्रिप्ट्स का उपयोग कर सकते हैं जैसे कि सभी नोड्स को शुरू करना, क्लस्टर बनाना जो आपको फॉलो करता है https://redis.io/topics/cluster-tutorial

धन्यवाद



1

हारून की तरह , मेरे मामले में brew services listदावा किया गया कि रेडिस चल रहा था, लेकिन यह नहीं था। मुझे अपनी लॉग फ़ाइल में निम्नलिखित जानकारी मिली /usr/local/var/log/redis.log:

4469:C 28 Feb 09:03:56.197 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
4469:C 28 Feb 09:03:56.197 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=4469, just started
4469:C 28 Feb 09:03:56.197 # Configuration loaded
4469:M 28 Feb 09:03:56.198 * Increased maximum number of open files to 10032 (it was originally set to 256).
4469:M 28 Feb 09:03:56.199 # Creating Server TCP listening socket 192.168.161.1:6379: bind: Can't assign requested address

यह निम्नलिखित कॉन्फ़िगरेशन के कारण होता है:

bind 127.0.0.1 ::1 192.168.161.1

जो मेरे VMWare फ्यूजन वर्चुअल मशीन को macOS, होस्ट पर रेडिस सर्वर तक पहुँच देने के लिए आवश्यक था। हालांकि, अगर आभासी मशीन शुरू नहीं किया गया था, यह बाध्यकारी विफलता redis वजह से शुरू करने के लिए नहीं सब पर । इसलिए वर्चुअल मशीन शुरू करने से समस्या हल हो गई।


1

इसे इस्तेमाल करे :

sudo service redis-server restart

मैं विंडोज़ डब्ल्यूएसएल उबंटू का उपयोग कर रहा हूं, और अपने टर्मिनल में त्रुटियां प्राप्त करता रहता हूं। npm ईआरआर! कोड ELIFECYCLE npm ERR! गलत 1 तो शीर्ष पर सब कुछ करने की कोशिश की, यह विशेष रूप से विंडोज में काम नहीं करता है। यही कारण है कि उबंटू पर रेडिस सेवा को फिर से शुरू करने की कोशिश की और पूरी तरह से ठीक काम करता है! बस इतना ही।
झूने कार्लो ट्रोगेलियो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.