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

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

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

一、目前情況

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

所以在訪問redis時,我需要訪問的是
host:106.14.xx.xx
port:6380
因為肯定是要訪問公網(wǎng)的,訪問6380端口通過映射到docker中redis用的6379端口。

二、解決方案

方案一

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

bind 127.0.0.0

改成了:

bind 0.0.0.0

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

protected-mode no

方案二 !!!(重要)

經(jīng)過上面一頓折騰,終于報錯變了:

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

說明要驗證身份!
這里最關鍵的一點就是,明明兩個配置文件中都沒有給redis配置密碼,
即配置文件都是:
通過grep 'requirepass' /var/data/redis/redis.conf
顯示# requirepass foobared說明唯一寫密碼的地方,也被注釋掉了。

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

(1) 關鍵??!檢查通過啟動命令行參數(shù)設置了密碼這種情況,你需要通過下面的語句進行排查:

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

如果出現(xiàn)了:

[-- requirepass xxxxxx-- appendonly yes]

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

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

確認容器中的 Redis 實際使用的是哪個配置文件。有可能 Redis 使用的并不是 /usr/local/etc/redis/redis.conf 文件。

redis-cli CONFIG GET *config-file*

如果出現(xiàn)了:

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

說明確實,之前改動配置文件是徒勞的,因為redis根本沒有用那個配置文件。

容器與數(shù)據(jù)卷的對應關系

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

因為我的容器中的目錄與數(shù)據(jù)卷(服務器上地址)的對應關系:
容器中的目錄 ----》 數(shù)據(jù)卷(服務器上地址)
/usr/local/etc/redis ----》 /var/data/redis
/data ----》 /var/data/redis/data

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

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

2 更改服務器物理機上的redis的配置文件

我這里是通過:

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

即可進入物理機上redis的配置文件。
同樣修改完后,要進行重新啟動:

sudo systemctl restart redis

重新描述一下

1. 服務器上的物理機 Redis

如果你需要修改服務器上物理機的 Redis 配置文件:

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

操作: 直接在物理機上編輯這個文件,確保 bind 配置項是:

bind 0.0.0.0

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

sudo systemctl restart redis

2. Docker 容器中的 Redis

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

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

操作: 如果文件在 Docker 容器中,首先進入容器:

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

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

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

將 bind 配置項改為:

bind 0.0.0.0

重啟 Docker 容器: 修改配置后,重啟 Docker 容器以應用新配置:

docker restart <容器名或容器ID>

總結

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

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

相關文章

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

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

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

    Redis的常見四種部署方案

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

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

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

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

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

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

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

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

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

    Redis Cluster 字段模糊匹配及刪除

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

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

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

    Redis分片集群存儲的搭建到使用

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

    Redis高并發(fā)超賣問題解決方案圖文詳解

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

最新評論