Redis:It was not possible to connect to the redis server(s). 内网访问外网Redis部署过程记录
起因公司的一个网站,最开始部署在一个外网服务器,后面做了部分功能,只能在内部使用,于是部署在内网服务器。同一个项目,一个外网功能,一个内网功能。一开始使用的是内存缓存,后面将网站部署到内网后,修改了基础数据,内网和外网的数据会不同步,于是使用了Redis缓存。A网外网部署网站,部署RedisB网内网部署网站部署部署Redis很简单,参考菜鸟教程的来就可以了https://www.runoob.co
起因
公司的一个网站,最开始部署在一个外网服务器,后面做了部分功能,只能在内部使用,于是部署在内网服务器。
同一个项目,一个外网功能,一个内网功能。一开始使用的是内存缓存,后面将网站部署到内网后,修改了基础数据,内网和外网的数据会不同步,于是使用了Redis缓存。
A网 外网 部署网站,部署Redis
B网 内网 部署网站
部署
部署Redis很简单,参考菜鸟教程的来就可以了
https://www.runoob.com/redis/redis-install.html
下载zip包,放在C盘,启动cmd窗口,进入Redis目录
cd C:\redis
再使用命令,打开Redis服务
redis-server.exe redis.windows.conf
这时候可以验证一下,连接Redis服务
redis-cli.exe -h 127.0.0.1 -p 6379
部署过程中,遇到一些问题,记录一下
问题1
外网 A网 在部署Redis报错:
It was not possible to connect to the redis server(s). SocketFailure (ReadSocketError/ConnectionReset, last-recv: 1101) on xxx.xx.xxx.xxx:6379/Interactive, Flushed/Faulted, last: ECHO, origin: ReadFromPipe, outstanding: 8, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: ConnectedEstablishing, mgr: 9 of 10 available, last-heartbeat: never, global: 14s ago, v: 2.1.58.34321
连接Redis服务器失败,原来不能写外网IP,要写127.0.0.1:6379,这样就解决了
还有一点,服务器记得开启对于的端口,Redis的默认端口为6379,公司使用的是阿里云,所以需要在阿里云的控制台,开启6379端口
问题2
内网 B网 在启用网站是也报同样的错,这样的错误太泛了,没有具体内容。
于是,将Redis部署到内网,在内网连接服务器A网的Redis
redis-cli.exe -h xxx.xx.xxx.xxx -p 6379
在设置和获取值时,报错
Error: 磁盘在使用中,或被另一个进程锁定。
Redis默认只能连接本地客户端连接,非本地客户端连接需要另外配置
设置redis.windows.conf文件
1.注释掉 bind 127.0.0.1
2.将protected-mode 设置为 no
重启Redis,连接正常
内网,外网都可以访问Redis,网站性能大大提升...
参考
更多推荐
所有评论(0)