欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

本地訪問(wèn)不到公網(wǎng)redis的解決方案

 更新時(shí)間:2024年08月14日 09:25:57   作者:堅(jiān)持不懈的ape  
本文詳述了本地訪問(wèn)不到公網(wǎng)redis的解決方案,包括分析報(bào)錯(cuò)原因、Redis配置文件的區(qū)別、bind和protected-mode配置的解析,最終通過(guò)修改Redis配置文件及創(chuàng)建啟動(dòng)腳本解決了訪問(wèn)不到公網(wǎng)redis得問(wèn)題,需要的朋友可以參考下

一、目前情況

首先
我用的公網(wǎng)ip,即服務(wù)器地址是:106.14.xx.xx
由于我的redis是放到了服務(wù)器的docker容器中,
而端口映射是主機(jī)–>容器是:6380–>6379/tcp

所以在訪問(wèn)redis時(shí),我需要訪問(wèn)的是
host:106.14.xx.xx
port:6380
因?yàn)榭隙ㄊ且L問(wèn)公網(wǎng)的,訪問(wèn)6380端口通過(guò)映射到docker中redis用的6379端口。

二、解決方案

方案一

我這里出現(xiàn)了一個(gè)問(wèn)題,通過(guò)可視化工具根本連接不上redis數(shù)據(jù)庫(kù),所以考慮是配置文件中是否不允許外網(wǎng)的ip來(lái)訪問(wèn)【也可能是端口沒(méi)在安全組?】。
所以我通過(guò)下面的語(yǔ)句,對(duì)服務(wù)器上的redis的配置文件進(jìn)行了更改【進(jìn)入的方式請(qǐng)看 容器與數(shù)據(jù)卷的對(duì)應(yīng)關(guān)系這一節(jié)】,將原來(lái)的

bind 127.0.0.0

改成了:

bind 0.0.0.0

并且將下面的控制改成了no:

protected-mode no

方案二 !!!(重要)

經(jīng)過(guò)上面一頓折騰,終于報(bào)錯(cuò)變了:

Redis Client On Error: ReplyError: NOAUTH Authentication required. Config right?

說(shuō)明要驗(yàn)證身份!
這里最關(guān)鍵的一點(diǎn)就是,明明兩個(gè)配置文件中都沒(méi)有給redis配置密碼,
即配置文件都是:
通過(guò)grep 'requirepass' /var/data/redis/redis.conf
顯示# requirepass foobared說(shuō)明唯一寫(xiě)密碼的地方,也被注釋掉了。

那為什么沒(méi)有密碼還要驗(yàn)證身份呢????!
可能是因?yàn)?Redis 在啟動(dòng)時(shí)使用了不同的配置文件,或者在啟動(dòng)容器時(shí)通過(guò)命令行參數(shù)或環(huán)境變量設(shè)置了密碼

(1) 關(guān)鍵?。z查通過(guò)啟動(dòng)命令行參數(shù)設(shè)置了密碼這種情況,你需要通過(guò)下面的語(yǔ)句進(jìn)行排查:

docker inspect --format='{{.Config.Cmd}}' redis

如果出現(xiàn)了:

[-- requirepass xxxxxx-- appendonly yes]

說(shuō)明Redis 容器確實(shí)是通過(guò)啟動(dòng)命令行參數(shù)設(shè)置了密碼 requirepass xxxxxx。這意味著即使在 redis.conf 文件中沒(méi)有設(shè)置密碼,Redis 也會(huì)使用這個(gè)命令行參數(shù)指定的密碼(后面帶著這個(gè)密碼再訪問(wèn),就可以正常連接公網(wǎng)上的redis了)。

(2) 檢查 Redis 配置文件路徑 (這一個(gè)地方可能不太對(duì))

確認(rèn)容器中的 Redis 實(shí)際使用的是哪個(gè)配置文件。有可能 Redis 使用的并不是 /usr/local/etc/redis/redis.conf 文件。

redis-cli CONFIG GET *config-file*

如果出現(xiàn)了:

1) "cluster-config-file"
2) "nodes.conf"

說(shuō)明確實(shí),之前改動(dòng)配置文件是徒勞的,因?yàn)閞edis根本沒(méi)有用那個(gè)配置文件。

容器與數(shù)據(jù)卷的對(duì)應(yīng)關(guān)系

1.更改容器中的redis的配置文件

因?yàn)槲业娜萜髦械哪夸浥c數(shù)據(jù)卷(服務(wù)器上地址)的對(duì)應(yīng)關(guān)系:
容器中的目錄 ----》 數(shù)據(jù)卷(服務(wù)器上地址)
/usr/local/etc/redis ----》 /var/data/redis
/data ----》 /var/data/redis/data

所以此時(shí)我直接在服務(wù)器上訪問(wèn)容器中的redis的配置文件(或者進(jìn)入docker,再進(jìn)入docker的目錄對(duì)配置文件進(jìn)行更改):

[root@iZuf67k70ucx14s6zcv54dZ var]# 
vi /var/data/redis/redis.conf

2 更改服務(wù)器物理機(jī)上的redis的配置文件

我這里是通過(guò):

sudo vi /www/server/redis/redis.conf

即可進(jìn)入物理機(jī)上redis的配置文件。
同樣修改完后,要進(jìn)行重新啟動(dòng):

sudo systemctl restart redis

重新描述一下

1. 服務(wù)器上的物理機(jī) Redis

如果你需要修改服務(wù)器上物理機(jī)的 Redis 配置文件:

位置: 根據(jù)你之前的信息,配置文件的位置可能是 /www/server/redis/redis.conf。

操作: 直接在物理機(jī)上編輯這個(gè)文件,確保 bind 配置項(xiàng)是:

bind 0.0.0.0

重啟 Redis: 修改后,重啟 Redis 使配置生效。你可以通過(guò)服務(wù)管理工具(如 systemctl 或 service)來(lái)重啟:

sudo systemctl restart redis

2. Docker 容器中的 Redis

如果你需要修改 Docker 容器中的 Redis 配置文件:

位置: 如果 Docker 容器中的 Redis 使用 /usr/local/etc/redis/redis.conf,你需要在這個(gè)路徑下編輯配置文件。

操作: 如果文件在 Docker 容器中,首先進(jìn)入容器:

docker exec -it <容器名或容器ID> bash

然后使用 vi 或其他編輯工具修改文件:

vi /usr/local/etc/redis/redis.conf

將 bind 配置項(xiàng)改為:

bind 0.0.0.0

重啟 Docker 容器: 修改配置后,重啟 Docker 容器以應(yīng)用新配置:

docker restart <容器名或容器ID>

總結(jié)

如果你要修改的是物理機(jī)上的 Redis,直接在物理機(jī)上編輯配置文件 /www/server/redis/redis.conf。
如果你要修改的是Docker 容器中的 Redis,需要在 Docker 容器中編輯配置文件 /usr/local/etc/redis/redis.conf,并重啟容器。
確保你編輯的是正確的配置文件并且正確重啟了 Redis 服務(wù)或 Docker 容器,以確保更改生效。

以上就是本地訪問(wèn)不到公網(wǎng)redis的解決方案的詳細(xì)內(nèi)容,更多關(guān)于本地訪問(wèn)不到redis的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • CentOS7.5使用mysql_multi方式安裝MySQL5.7.28多實(shí)例(詳解)

    CentOS7.5使用mysql_multi方式安裝MySQL5.7.28多實(shí)例(詳解)

    這篇文章主要介紹了CentOS7.5使用mysql_multi方式安裝MySQL5.7.28多實(shí)例,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Redis的常見(jiàn)四種部署方案

    Redis的常見(jiàn)四種部署方案

    這篇文章介紹Reids最為常見(jiàn)的四種部署模式,其實(shí)Reids和數(shù)據(jù)庫(kù)的集群模式差不多,可以分為 Redis單機(jī)模式部署、Redis主從模式部署、Redis哨兵模式部署、Cluster集群模式部署,其他的部署方式基本都是圍繞以下幾種方式在進(jìn)行調(diào)整到適應(yīng)的生產(chǎn)環(huán)境,感興趣的朋友一起看看吧
    2023-11-11
  • Redis基本數(shù)據(jù)類型List常用操作命令

    Redis基本數(shù)據(jù)類型List常用操作命令

    這篇文章主要為大家介紹了Redis數(shù)據(jù)類型List常用命令操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Redis使用SETNX命令實(shí)現(xiàn)分布式鎖

    Redis使用SETNX命令實(shí)現(xiàn)分布式鎖

    分布式鎖是一種用于在分布式系統(tǒng)中控制多個(gè)節(jié)點(diǎn)對(duì)共享資源進(jìn)行訪問(wèn)的機(jī)制,本文主要為大家詳細(xì)介紹了Redis如何使用SETNX命令實(shí)現(xiàn)分布式鎖,需要的可以參考下
    2025-01-01
  • 使用redis獲取自增序列號(hào)實(shí)現(xiàn)方式

    使用redis獲取自增序列號(hào)實(shí)現(xiàn)方式

    這篇文章主要介紹了使用redis獲取自增序列號(hào)實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 使用Redis實(shí)現(xiàn)微信步數(shù)排行榜功能

    使用Redis實(shí)現(xiàn)微信步數(shù)排行榜功能

    這篇文章主要介紹了使用Redis實(shí)現(xiàn)微信步數(shù)排行榜功能,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Redis Cluster 字段模糊匹配及刪除

    Redis Cluster 字段模糊匹配及刪除

    在數(shù)據(jù)庫(kù)內(nèi)我們可以通過(guò)like關(guān)鍵字、%、*或者REGEX關(guān)鍵字進(jìn)行模糊匹配。而在Redis內(nèi)我們?nèi)绾芜M(jìn)行模糊匹配呢?本文就來(lái)介紹一下
    2021-05-05
  • Redis核心原理與實(shí)踐之字符串實(shí)現(xiàn)原理

    Redis核心原理與實(shí)踐之字符串實(shí)現(xiàn)原理

    這本書(shū)深入地分析了Redis常用特性的內(nèi)部機(jī)制與實(shí)現(xiàn)方式,內(nèi)容源自對(duì)Redis源碼的分析,并從中總結(jié)出設(shè)計(jì)思路、實(shí)現(xiàn)原理。對(duì)Redis字符串實(shí)現(xiàn)原理相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-09-09
  • Redis分片集群存儲(chǔ)的搭建到使用

    Redis分片集群存儲(chǔ)的搭建到使用

    這篇文章主要介紹了Redis分片集群存儲(chǔ)的搭建到使用,分片集群顧名思義,將數(shù)據(jù)分開(kāi)存儲(chǔ)到Redis集群中,這樣能夠存儲(chǔ)更多的數(shù)據(jù),避免浪費(fèi)資源,需要的朋友可以參考下
    2022-06-06
  • Redis高并發(fā)超賣(mài)問(wèn)題解決方案圖文詳解

    Redis高并發(fā)超賣(mài)問(wèn)題解決方案圖文詳解

    Redis是一種基于內(nèi)存的數(shù)據(jù)存儲(chǔ)系統(tǒng),被廣泛用于解決高并發(fā)問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Redis高并發(fā)超賣(mài)問(wèn)題解決方案的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02

最新評(píng)論