记录一次Redis启动报错
Cannot assign requested address
今天采用自定义conf启动redis,产生了如上错误,记录问题
由于我在redis.conf中,bind了不止一个IP地址,默认127和服务器公网地址
查看启动日志如下:
提示监听x.x.x.x地址的6379端口错误,无法分配请求地址!
原因:绑定公网IP失败
当我尝试绑定公网IP时候,redis启动报上面的错误
然而绑定内网地址172.26.57.2X之类的却能成功
当我使用命令查看本机网卡地址:ifconfig
并没有查到我的公网IP地址,于是乎想到了一种可能:阿里云服务器的公网IP地址并不是实际的IP地址,可能存在一个公网IP多个主机共享(NAT),主机自己是无法通过ifconfig
命令看到的。
事实上官方的说明也证实了这一点,普遍使用的是弹性公网IP,类似于路由器通过一个出口IP实现子网内所有设备对网络的访问。
这儿贴一篇文章:阿里云服务器是如何实现每台服务器都是公网I的呢?
总结:
这次错误是由于IP地址问题而引起的,去掉了所谓的公网IP后之后就能成功启动了
跟我之前遇到的本地连不上服务器Mysql数据库,有待继续考证
相关资料:
redis只接受来自bind地址中的连接
默认是127.0.0.1本机回环地址,只接受本地连接,无法通过远程连接,可以避免将redis暴露于网络中
如果bind字段留空的话,表示接受所有可用网络接口的连接(不是客户端IP地址,是服务器的网卡IP地址)
- 绑定多个IP网口:
#vim myredis.conf
bind 127.0.0.1 121.xxx.xx.xx
通过127.0.01:6539 121.xxx.xx.xx:6539可以连接到redis
- 配置密码
#vim myredis.conf
requirepass 123456789