Hvernig á að laga Redis-tengivillu við 127.0.0.1:6379

Stutt svar: Ef forritið þitt gefur villuna Could not connect to Redis at 127.0.0.1:6379: Connection refused, byrjaðu á því að athuga hvort Redis-netþjónn sé í raun að hlusta á þessu netfangi og port. Redis CLI notar sjálfgefið 127.0.0.1 og port 6379, svo hafnun bendir yfirleitt til stöðvuðs netþjóns, annars ports, ósamræmis í Docker- eða sýndarvélanetkerfi, eða vandamáls í stillingum hlustara. Auðkenningarvillur eru annars eðlis: þær koma yfirleitt fram eftir að TCP-tenging hefur verið stofnuð.

Hraðasta greiningin er redis-cli -h 127.0.0.1 -p 6379 PING. Ef hún skilar PONG er Redis aðgengilegt og þú ættir að skoða Redis-URL, auðkenningarupplýsingar, TLS-stillingar eða tengipólstillingar forritsins í stað þess að endurræsa Redis blindlega. Redis skjalfestir PING sérstaklega sem aðferð til að prófa hvort tenging sé lifandi og hvort netþjónninn geti þjónað gögnum. Sjá opinbera Redis PING skipanaskjöl.

Hraðgreiningartafla

Það sem þú sérðLíklegasta svæðið til að athugaFyrsta aðgerð
Connection refusedEnginn hlustari á marknetfangi/porti, rangt endapunktur eða ósamræmi í Docker-netkerfiKeyrðu redis-cli -h 127.0.0.1 -p 6379 PING
PONG í Redis CLI en forritið mistekst ennStillingar forritsBerðu saman hýsil, port, gagnagrunn, TLS, notandanafn og lykilorð forritsins við virka CLI-tengingu
NOAUTH eða WRONGPASSAuðkenning eða ACLVeittu rétt Redis notandanafn/lykilorð; meðhöndlaðu þetta ekki sem vandamál við port-hlustun
TLS eða vottorðsvillaSamskiptamátaósamræmiNotaðu TLS-stillingar og rediss:// þegar netþjónninn krefst dulkóðaðra tenginga
Virkar á hýsli en ekki í ílátDocker-netkerfiHættu að nota 127.0.0.1 nema Redis sé í sama íláti; notaðu rétt þjónustu- eða hýsilnetfang

1. Endurskapaðu mistökin utan forritsins

Notaðu Redis CLI áður en þú breytir forritskóða. Opinber CLI skjöl Redis segja að redis-cli tengist sjálfgefið 127.0.0.1:6379. Þú getur gert markmiðið skýrt:

redis-cli -h 127.0.0.1 -p 6379 PING

Virkur staðbundinn netþjónn ætti að svara:

PONG

Ef þú færð sömu tengihafnunarskilaboð hefur þú endurskapað vandamálið á flutningslagi. Það er gagnlegt vegna þess að það útilokar rammaverkið þitt, ORM, skyndiminnasafn og forritskóða úr augnabliksrannsókninni. Redis CLI tekur einnig við -h fyrir hýsil og -p fyrir port, eins og skjalfest er í Redis CLI tilvísun.

PowerShell dæmi sem sýnir redis-cli tengjast 127.0.0.1 á port 6379 og fá Connection refused villu
Dæmi um terminal-sýn á fyrstu greiningu: skýr Redis CLI PING til 127.0.0.1:6379 staðfestir að hafnunin sé ekki takmörkuð við forritskóða.

Ef PING skilar nú þegar PONG, slepptu í skref 5. Ekki halda áfram að endurræsa heilbrigð Redis-tilvik; einbeittu þér að tengistreng forritsins og keyrsluumhverfinu.

2. Gakktu úr skugga um að Redis-netþjónninn sé keyrandi

Á Linux-kerfi sem er sett upp í gegnum pakkaumsjón er hægt að stjórna Redis oft sem kerfisþjónustu. Linux uppsetningarskjöl Redis sýna systemctl start og systemctl stop, en taka fram að þjónustuheitið getur verið redis eða redis-server eftir palli. Typísk Ubuntu/Debian athugun er:

sudo systemctl status redis-server
sudo systemctl start redis-server
sudo systemctl status redis-server

Ef dreifingin þín notar redis sem þjónustuheiti, skiptu um það heiti. Ef systemd stjórnar ekki Redis-ferlinu þínu, notaðu ræsingaraðferðina sem passar við hvernig þú settir upp Redis í stað þess að gera ráð fyrir að þjónusta sé til staðar. Núverandi Linux leiðbeiningar Redis eru fáanlegar í opinberum Linux uppsetningarskjölum.

Ubuntu terminal dæmi sem athugar redis-server með systemctl, ræsir þjónustuna og sýnir hana sem virka og keyrandi
Dæmi um Ubuntu/Debian systemd: athugaðu Redis-þjónustuna, ræstu hana ef hún er óvirk og staðfestu að þjónustan tilkynni virka keyrslustöðu.

Athugasemd um Windows og WSL

Gerðu ekki ráð fyrir að innbyggð Windows Redis-þjónusta sé til staðar bara vegna þess að forritið þitt keyrir á Windows. Núverandi uppsetningaryfirlit Redis listar Windows undir Docker-leiðinni, en Redis heldur einnig út Windows leiðbeiningum fyrir WSL og Windows samhæfingarpartnara þess. Ef Redis keyrir inni í WSL, prófaðu það fyrst frá sama WSL-umhverfi. Ef Redis keyrir í Docker Desktop, notaðu Docker-athuganirnar í næsta kafla. Sjá núverandi Redis Open Source uppsetningaryfirlit og Redis Windows/WSL uppsetningarskjöl.

3. Athugaðu port 6379 og lagaðu Docker-netkerfi

Redis notar venjulega TCP port 6379. Ef Redis keyrir en ekkert hlustar á það port, athugaðu hvort netþjónninn hafi verið ræstur með öðrum stillingum. Á Linux getur fljótleg stýrikerfisathugun eins og ss -ltnp sýnt hlustandi TCP-tengi; á Windows getur PowerShell Test-NetConnection 127.0.0.1 -Port 6379 hjálpað til við að greina á milli hlustandi ports og hafnaðs ports. Ákveðandi prófið er þó enn virk Redis skipun eins og PING.

Ef Redis keyrir í Docker og forritið þitt keyrir á hýslinum

Ílátið verður að birta portið til hýslisins. Docker skjöl Redis sýna hýsil-til-ílát kortlagningu fyrir port 6379. Fyrir eingöngu staðbundna þróun geturðu bundið birta port við hýslis loopback-netfang:

docker run -d --name redis -p 127.0.0.1:6379:6379 redis
docker ps

Eigin Docker skjöl um portbirtingu útskýra að tilgreining á 127.0.0.1 gerir birta port aðeins aðgengilegt frá Docker-hýslinum, sem er öruggara fyrir staðbundinn þróunarskyndiminni en að birta það á öllum viðmótum. Opinber Docker hraðbyrjun og tengidæmi Redis eru í Keyra Redis Open Source á Docker, og hegðun hýsilnetfangs er lýst í Docker skjölum um portbirtingu.

Docker terminal dæmi sem ræsir Redis ílát með hýsilport 6379 kortlagt á ílátspor 6379 og athugar kortlagningu með docker ps
Docker dæmi fyrir hýslisforrit: birtu ílátspor 6379 á 127.0.0.1:6379, staðfestu síðan kortlagninguna með docker ps áður en þú prófar Redis.

Ef forritið þitt keyrir einnig í Docker

Þetta er algeng uppspretta ruglings. Innan í íláti vísar 127.0.0.1 til þess íláts sjálfs. Ef Redis er sérstök Compose-þjónusta, tengstu við Redis-þjónustuheitið, eins og redis:6379, á sameiginlegu Compose-netinu í stað 127.0.0.1:6379. Docker skjalfestir að Compose-þjónustur á sjálfgefna netinu séu uppgötvanlegar með þjónustuheiti í Compose netkerfisleiðbeiningum.

Ef forritið er í Docker Desktop íláti en Redis keyrir beint á hýslinum, mælir Docker með sérstaka hýsilheitinu host.docker.internal til að ná í hýslisþjónustur. Sú hegðun er skjalfest í Docker Desktop netkerfis FAQ.

4. Staðfestu redis.conf: bind, protected mode og port

Ef ferlið keyrir en hlustar á rangt viðmót eða port, skoðaðu stillingaskrána sem virka Redis-ferlið notar í raun. Þrjár stillingar skipta mestu máli fyrir þessa villu:

bind 127.0.0.1 -::1
protected-mode yes
port 6379

Opinber Redis stillingasniðmát notar loopback-bindingu fyrir staðbundna aðgang, virkjar protected mode sjálfgefið og setur venjulega TCP port á 6379. Það skjalfestir einnig að port 0 slökkvi á non-TLS TCP hlustaranum. Þú getur skoðað núverandi sniðmát í opinbera Redis geymslunni.

Redis stillingadæmi sem sýnir loopback bind netföng, protected-mode yes, port 6379 og virkan redis-cli PING sem skilar PONG
Dæmi um stillingu fyrir staðbundna þróun: Redis hlustar á loopback á port 6379 með protected mode virkt, fylgt eftir af virkum PING sem skilar PONG.

Fyrir þróunarumhverfi á sama hýsli er loopback-binding viðeigandi. Fyrir lögmæta fjarlægja eða marg-hýsla útfærslu, leystu ekki tengingarvandamál með því að breyta bind í öll viðmót og slökkva á protected-mode af handahófi. Redis varar við því að birta TCP port sitt fyrir ótraust net. Notaðu viðeigandi netviðmót, eldveggjarstefnu og Redis auðkenningu eða ACL í staðinn. Farðu yfir opinberar Redis öryggisleiðbeiningar áður en þú víkkar netaðgang.

Eftir að hafa breytt stillingunum, endurræstu Redis með því að nota sama þjónustustjóra, ílátsskipun eða ferlisstjóra sem á keyrandi dæmið. Endurtaktu síðan:

redis-cli -h 127.0.0.1 -p 6379 PING

5. Ef Redis svarar, lagaðu tengistillingar forritsins

Þegar Redis CLI skilar PONG frá sama keyrsluumhverfi og forritið þitt, er upprunalega tengihafnunin ekki lengur vandamál við Redis-hlustara. Berðu stillingar forritsins saman við virka prófun. Athugaðu öll þessi gildi:

  • Hýsilheiti eða IP-netfang
  • TCP port
  • Gagnagrunnsnúmer, ef forritið þitt velur ekki sjálfgefinn gagnagrunn
  • Notandanafn og lykilorð þegar ACL auðkenning er virk
  • Hvort tengingin noti hreint Redis eða TLS
  • Hvort forritið keyri á hýslinum, í WSL, í íláti eða á annarri vél

Staðbundið, non-TLS URL lítur oft svona út:

redis://127.0.0.1:6379/0

Redis CLI styður einnig Redis URIs og skjalfestir rediss:// fyrir TLS. Ef netþjónninn krefst auðkenningar, notaðu viðeigandi notandanafn og lykilorð. Fyrir CLI prófanir mælir Redis með REDISCLI_AUTH umhverfisbreytunni í stað þess að setja lykilorð beint á skipanalínu. Sjá Redis CLI tengimöguleika.

Blandu ekki saman auðkenningar- og TLS-villum við tengihafnun

Ef skilaboðin breytast úr Connection refused í NOAUTH, WRONGPASS eða ACL villu, er það framför: biðlarinn náði til Redis-netþjónsins og þarf nú gild auðkenningarupplýsingar. Redis mælir með ACL-grunninni auðkenningu fyrir nútíma útfærslur; opinber Redis ACL skjöl útskýra líkanið.

Eins, ef endapunkturinn krefst TLS, getur hreinn TCP Redis-biðlarinn mistekist við samskiptamótun þótt port sé aðgengilegt. Redis CLI styður --tls, og Redis URIs nota rediss skema fyrir TLS-tengingar. Fyrir netþjónshliðar TLS upplýsingar, sjá Redis TLS skjöl.

Umhverfisspecifik tengimarkmið

Hvar Redis keyrirHvar forritið keyrirTypískt markmiðLykilskilyrði
Sami hýsillSami hýsill127.0.0.1:6379Redis verður að hlusta á loopback port 6379
Docker ílátHýslisstýrikerfi127.0.0.1:6379Birtu ílátspor til hýslis
Docker Compose þjónustaÖnnur þjónusta í sama Compose verkefniredis:6379 eða þitt raunverulega þjónustuheitiBáðar þjónusturnar verða að deila viðeigandi Docker-neti
HýslisstýrikerfiDocker Desktop íláthost.docker.internal:6379Redis verður að samþykkja tengingu frá Docker-hýslisleið
Fjarlægur netþjónnÖnnur vélAðgengilegt hýsilheiti/IP og stillt port Redis-netþjónsinsNetstefna, bind stillingar, auðkenning og mögulega TLS verða að leyfa aðgang

Hraðpróflisti

  • Keyrðu redis-cli -h 127.0.0.1 -p 6379 PING.
  • Ef hafnað, staðfestu að Redis ferlið eða þjónustan sé keyrandi.
  • Staðfestu að Redis hlusti í raun á port 6379, eða uppfærðu biðlarann í stillta port.
  • Ef þú notar Docker, staðfestu portkortlagninguna og hvort biðlarinn sé á hýslinum eða í öðru íláti.
  • Ef báðar þjónusturnar eru í Compose, notaðu Redis-þjónustuheitið í stað 127.0.0.1.
  • Athugaðu virka redis.conf fyrir bind, protected-mode og port.
  • Haltu Redis utan almenningssins; slökktu ekki á öryggisstillingum bara til að láta villuna hverfa.
  • Þegar PING virkar, farðu yfir auðkenningarupplýsingar forrits, TLS, URL, gagnagrunnsnúmer og umhverfisspecifik netkerfi.

Hvað lagar yfirleitt þessa villu?

Fyrir þróunarvél er algengasta árangursríka leiðin einföld: ræstu Redis, vertu viss um að hann hlusti á endapunktinn sem forritið þitt notar í raun, og staðfestu síðan með PING. Docker breytir merkingu „localhost“, svo ílátuð forrit þurfa oft þjónustuheiti eða host.docker.internal í stað 127.0.0.1. Stillingarbreytingar ættu að vera síðasta úrræði, ekki fyrsta.

Lykilgreiningin er hvort hægt sé að stofna TCP-tengingu. Hafnun þýðir að biðlarinn hefur ekki náð til nothæfs Redis-hlustara á óskaða endapunktinum. Redis villa eins og NOAUTH þýðir að hann hefur. Meðhöndlun þessara tveggja tilvika á mismunandi hátt forðast óþarfa stillingarbreytingar og leiðir þig að raunverulegri orsök mun hraðar.

Skildu eftir athugasemd

Hvernig á að laga SSL-vottorðavandamál: Get ekki fengið staðvært útgefandavottorð í Git

Hvernig á að laga SSL-vottorðavandamál: Get ekki fengið staðvært útgefandavottorð í Git

Lagaðu Git-villuna „get ekki fengið staðvært útgefandavottorð“ með því að auðkenna traustbakendann, setja upp rétta CA-keðju og halda SSL-staðfestingu virkri.

Hvernig á að laga MongoDB net-tímamótavillu í Mongoose tengingu

Hvernig á að laga MongoDB net-tímamótavillu í Mongoose tengingu

Lagaðu MongoDB net-tímamótavillur í Mongoose með því að auðkenna tegund tímamóts, prófa aðgengi við Atlas eða TCP, leiðrétta URI og stilla tímamót aðeins þegar rétt er.

Hvernig á að laga Execution Policy Restricted villu í Windows PowerShell

Hvernig á að laga Execution Policy Restricted villu í Windows PowerShell

Lagaðu PowerShell execution policy Restricted villuna með því að athenda umfang og Group Policy, og velja síðan RemoteSigned, Unblock-File eða tímabundna valkost fyrir setu.

Hvernig á að laga npm ERR! code ERESOLVE Peer Dependency Conflict

Hvernig á að laga npm ERR! code ERESOLVE Peer Dependency Conflict

Lagaðu npm ERESOLVE peer dependency conflicts með því að auðkenna ósamhæfða pakkaröð, stilla útgáfur, nota npm explain og npm ls, og meðhöndla legacy-peer-deps eða force eingöngu sem stýrðar varalausnir.

Hvernig á að laga Redis-tengivillu við 127.0.0.1:6379

Hvernig á að laga Redis-tengivillu við 127.0.0.1:6379

Lagaðu villur þar sem Redis-tenging er hafnað á 127.0.0.1:6379 með því að athuga netþjóninn, port, Docker-netkerfi, redis.conf, auðkenningu og TLS.

Hvernig á að laga innri villu 500 í Next.js Server Components

Hvernig á að laga innri villu 500 í Next.js Server Components

Lagaðu 500-villur í Next.js Server Components með því að rekja server-logga, athuga gagnainnsóknir og umhverfisbreytur, meðhöndla villur og staðfesta framleiðslubygginguna.

Hvernig á að laga Kubernetes CrashLoopBackOff í staðbundnu Minikube

Hvernig á að laga Kubernetes CrashLoopBackOff í staðbundnu Minikube

Greinið og lagaðu Kubernetes CrashLoopBackOff í staðbundnu Minikube með því að athuga ástand poods, fyrri atvikaskrár, útgáfurök, prófanir, stillingar, minnisþak og heilsufar klusters.

Hvernig á að laga Docker Desktop Engine Stopped á Windows 11

Hvernig á að laga Docker Desktop Engine Stopped á Windows 11

Lagaðu Docker Desktop Engine Stopped á Windows 11 með því að athuga Docker stöðu, uppfæra og endurræsa WSL 2, staðfesta sýndarvæðingu og nota greiningu áður en núllstilling er framkvæmd.

Hvernig á að laga Uncaught ReferenceError: process is not defined í Vite

Hvernig á að laga Uncaught ReferenceError: process is not defined í Vite

Lagaðu villuna „process is not defined“ í Vite með því að skipta út Node-stíls notkun á process.env, stilla VITE_ breytur rétt og athuga háðir.

Hvernig á að laga „PyTorch CUDA Out of Memory“ villur við þjálfun líkana

Hvernig á að laga „PyTorch CUDA Out of Memory“ villur við þjálfun líkana

Lagaðu PyTorch CUDA minnisvillur með gagnlegri vinnuaðferð: mæltu GPU-minni, minnkaðu virka vinnusett, notaðu AMP og safnaðarstuðla, geymdu virkjunarpunkta og stilltu minnisstýringu aðeins ef þörf krefur.