1. 程式人生 > >redis 無法遠端連線

redis 無法遠端連線

在虛擬機器linux上安裝好redis後,使用本地機器進行訪問redis

1:訪問出現Could not connect to Redis at (ip地址):6379: Connection refused

最有可能的原因就是沒有關閉防火牆,1) 重啟後生效
        開啟: chkconfig iptables on
        關閉: chkconfig iptables off
        2) 即時生效,重啟後失效
        開啟: service iptables start
        關閉: service iptables stop

2:啟動出現以下異常

Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
解決:設定redis.conf引數protected-mode no

3:啟動出現WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

關於vm.overcommit_memory引數的詳解
  0, 表示核心將檢查是否有足夠的可用記憶體供應用程序使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,      並把錯誤返回給應用程序。
  1, 表示核心允許分配所有的實體記憶體,而不管當前的記憶體狀態如何。
  2, 表示核心允許分配超過所有實體記憶體和交換空間總和的記憶體
  編輯/etc/sysctl.conf ,改vm.overcommit_memory=1,然後sysctl -p 使配置檔案生效

4:啟動出現 The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

先看一下redis.conf中關於tcp-backlog引數的解釋

此引數確定了TCP連線中已完成佇列(完成三次握手之後)的長度,當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,

預設是511,而Linux的預設引數值是128。當系統併發量大並且客戶端速度緩慢的時候,可以將這二個引數一起參考設定。該核心引數預設值一般是128

對於負載很大的服務程式來說大大的不夠。一般會將它修改為2048或者更大。在/etc/sysctl.conf中新增:net.core.somaxconn = 2048,然後在終端中執行sysctl -p

解決方法註釋中已給出

5:訪問又出現Could not connect to Redis at (ip地址):6379: Connection refused

redis.conf中關於bind引數的解釋註釋掉本機,區域網內的所有計算機都能訪問。
band localhost   只能本機訪問,區域網內計算機不能訪問。
bind  區域網IP    只能區域網內IP的機器訪問, 本地localhost都無法訪問。
解決辦法就是註釋掉bind配置

6:訪問出現Creating Server TCP listening socket *:6379: unable to bind socket

1. 將IPv6的網絡卡進行關閉(具體方法進行百度,這裡不進行詳細敘述) 
2. 新增在redis.conf中新增 bind 0.0.0.0

注:該配置與解決方法只適用於執行環境下,生產環境下未經過測試

相關推薦

redis 無法遠端連線

在虛擬機器linux上安裝好redis後,使用本地機器進行訪問redis1:訪問出現Could not connect to Redis at (ip地址):6379: Connection refused最有可能的原因就是沒有關閉防火牆,1) 重啟後生效        開啟

客戶端無法遠端連線redis伺服器

原因1:如果你的redis服務是在阿里雲伺服器上自建的,預設redis埠6379是不允許外部訪問的。 解決辦法:在伺服器對應的安全組管理中,開啟外部IP地址對Redis伺服器6379埠的訪問許可權。 原因2:Redis伺服器的redis.conf沒有配置放開IP許可權(預設

RedisDesktopManager無法遠端連線Redis解決方法

下載RedisDesktopManager客戶端,輸入伺服器IP地址,埠(預設值:6379);點選 “連線測試” 按鈕測試連線,連線失敗!什麼問題呢?原因是Redis預設只支援本地連結,輸入程序命令檢視得知(127.0.0.1:7000)[email protect

linux安裝redis及解決無法遠端連線的問題

首先建立安裝目錄# mkdir /usr/local/redis下載redis壓縮包wget http://download.redis.io/releases/redis-4.0.2.tar.gz解壓

Navicat無法遠端連線與本地連線MySQL伺服器解決方法

方法一: 使用Navicat遠端連線MySQL伺服器時,提示如下圖情況: 根據查閱不同資料發現,這個問題是因為root使用者使用的加密方式不同,需將其加密方式改為mysql_native_password,即可實現遠端連線MySQL伺服器。 那麼,怎麼來修改root使用者的Auth

Securtcrt無法遠端連線Linxu伺服器

作業系統: CentOS 遠端工具:Securtcrt 描述問題: 連線操作時不穩定,有點卡頓 無法遠端連線Linux伺服器 解決問題: 1.連線操作時不穩定,有點卡頓   重新安裝Securtcrt工具,或者解壓壓縮包,直接使用即可,證明是本身工具的問題。 2.無法

mysql -uroot -p -P3306 -h192.168.0.111無法遠端連線mysql

1 在裝有MySQL的機器上登入MySQL mysql -u root -p密碼 2 執行USE mysql;  3 執行UPDATE user SET host = '%' WHERE user = 'root';這一句執行完可能會報錯,不用管它 4 執行FLUSH PRIVILEGES;&

Mysql無法遠端連線解決方案

前言 Mysql 版本:5.7.23作業系統:Linux問題描述:只能通過Linux系統賬號Root命令列進入資料庫,無法使用JDBC,遠端連線工具進入資料庫。報錯:ERROR 1698 (28000): Access denied for user 'root'@'localhost'這個問題明顯就是沒有

Linux下MySQL 5.7.23無法遠端連線解決方案

MySQL 版本:5.7.23作業系統:Linux問題描述:只能通過Linux系統賬號Root命令列進入資料庫,無法使用JDBC,遠端連線工具進入資料庫。報錯:ERROR 1698 (28000): Access denied for user 'root'@'localhost'這個問題明顯就是沒有開放遠端

mysql只能本機連線無法遠端連線

1.檢視mysql資料庫的user資料庫表的的user,host 這個的host那一欄是否為localhost,如果是表示只能本地連線 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'haojunjie' WITH GR

換網線導致的無法遠端連線伺服器問題

換網線導致的伺服器無法遠端連線問題 網路情況描述: 所使用的機房放置於機房,設定一個外網的IP及閘道器。日常辦公在樓上使用PC機進行遠端連線使用,PC機使用內網IP及閘道器,中間通過交換機進行連線。 最近給機房伺服器更換新網線,遇到一件奇怪的事情。原本網路連通狀況良好,但更換新網線之

Linux 本地啟動mysql對應的3306埠也啟動的情況下無法遠端連線

1.執行netstat -talnp命令列看3306是否開啟netstat -talnp 如返回中有tcp6 0 0 :::3306 :::* LISTEN 21498/mysqld 則證明3306已開啟。 2.執行lsof -i:3306命令列查詢3306是否被使用ls

Ubuntu 搭建hadoop叢集成功,但MobaXterm無法遠端連線叢集各個節點

由於我是在VMware上 使用的ubuntu系統,因此解決這個問題需要先了解一下VMware三種網路工作模式: 我們可以看到有VMnet0(橋接模式)、VMnet1(僅主機模式)、VMnet8(NAT模式)其中: VMnet0表示的是:用於橋接模式下的虛擬交換機;

解決win10家庭版系統無法遠端連線

解決方案 在執行中輸入regedit,開啟登錄檔編輯器  2.找到下圖所示路徑 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\

關於Redis遠端連線 Connection time out 問題

redis版本: redis-5.0.2 Linux版本:CenterOS 7 安裝參考:https://www.cnblogs.com/feinian/p/9825232.html 問題描述: 安裝redis完成,並修改了配置。 把bind 127

伺服器安裝寶塔面板無法遠端連線資料庫的解決方法

準備搭建一個自己的網站,趁著618優惠買了一臺騰訊雲的linux伺服器,配置一般價格合適。因為對伺服器瞭解不多,所以選擇了使用圖形介面面板來進行管理,因為之前通過阿里雲瞭解到寶塔面板,所以就在伺服器安裝了寶塔linux面板。 在寶塔中進行相關的環境配置之後,就安裝了網站程式,這裡在安裝程式的

完美解決win10家庭版本系統無法遠端連線問題(轉)

原文連線:https://blog.csdn.net/rainmaple20186/article/details/80913191 近期需要對實驗室的ftp伺服器密碼進行重新設定,然後就很理所當然的接入同一區域網,發現在連線的時候,報錯 出現身份驗證錯誤 要求的函式不受支援,CredSSP 加密 Ora

docker部署Oracle,無法遠端連線(已解決)

docker部署Oracle,無法遠端連線 多方嘗試,包括客戶機的配置檔案,伺服器埠開放情況,偵聽服務等等 網上搜了很多教程 docker pull wnameless/oracle-xe-11g docker run -d -p 49160:22 -p 49161:15

Linux Redis啟用遠端連線

Linux上Redis要想被遠端程式通過6379介面telnet通。需要滿足一下幾個條件 1.     redis-server  ../conf/redis.conf   運行了。 並且telnet localhost 6379是通的。 2.    conf/redis

mysql 客戶端無法遠端連線linux伺服器mysql, 提示1045

1,檢視mysql.user表的select * from user where host = "%" \G;  -- host %允許任何客戶端連線-- user rootpassword 需要修改加密密碼pass 2,修改密碼UPDATE `user` SET `Pas