设为首页 收藏本站
查看: 1399|回复: 0

[经验分享] linux下搭建redis并解决无法连接redis的问题

[复制链接]

尚未签到

发表于 2017-12-20 17:37:37 | 显示全部楼层 |阅读模式
  以前公司在开发阶段连接的redis一直是正式环境中的,最近老大让我在搭建一个局域网内的redis用于开发阶段时连接使用,搭建过程中也遇到了一些问题,还好已经解决了,在这里记录一下。
  首先是搭建redis,这个比较简单。
  1、检查安装依赖程序
  

yum install gcc-c++  
yum install -y tcl
  
yum install wget
  

  

  2、获取安装文件
  

wget http://download.redis.io/releases/  这里面有很多版本,自己选择需要的下载
  

  

  3、解压文件
  自己新建一个目录将redis解压到里面
  

tar -zxvf redis-3.2.01.tar.gz  
mv redis-3.2.01 /usr/local/redis
  

  

  4、进入目录
  

cd /usr/local/redis  

  

  5、编译安装
  

make  
make install
  

  

  6、设置配置文件路径
  

mkdir -p /etc/redis  
cp redis.conf/etc/redis
  

  

  7、修改配置文件
  redis.conf是redis的配置文件,redis.conf在redis源码目录。
  注意修改port作为redis进程的端口,port默认6379。如果需要搭建redis集群,千万别忘了修改端口号。
  redis有两种启动方式,直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。如下图:
DSC0000.png

  后端模式启动
  修改redis.conf配置文件, daemonize yes 以后端模式启动。推荐!
    打开redis.conf,使用命令 :/ daemonize 快速查找到daemonize然后修改。
  

vi /etc/redis/redis.conf  
仅修改: daemonize yes (no-->yes)
  

  

  8、启动
  

/usr/local/bin/redis-server /etc/redis/redis.conf  

  

  9、查看启动
  

ps -ef | grep redis  

  

  10、使用客户端
  

redis-cli  
>set name david
  
OK
  
>get name
  
"david"
  

  

  11.关闭客户端
  

redis-cli shutdown  

  

  12、开机启动配置
  

echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local  

  

  开机启动要配置在 rc.local 中,而 /etc/profile 文件,要有用户登录了,才会被执行。
  13、设置密码
  因为这是给局域网内的很多人使用,所以设置一个访问密码很有必要。
  修改redis.conf文件配置
  使用命令 :/ requirepass 快速查找到 # requirepass foobared 然后去掉注释,这个foobared改为自己的密码。然后wq保存。
  14、重启redis
  sudo service redis restart  这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许


  • redis-cli -h 127.0.0.1 -p 6379
  • redis 127.0.0.1:6379>
  • redis 127.0.0.1:6379> keys *
  • (error) ERR operation not permitted  
  尝试用密码登录并执行具体的命令看到可以成功执行


  • redis-cli -h 127.0.0.1 -p 6379 -a password
  • redis 127.0.0.1:6379> keys *
  • 1) "myset"
  • 2) "mysortset"
  • redis 127.0.0.1:6379> select 1
  • OK
  如果是自己在本机上使用现在已经可以了,因为我这是局域网内提供给大家使用的所以还需要最后的配置。
  当时修改开发的配置文件后,启动项目报错。
  org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
  at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:162) ~[spring-data-redis-1.5.0.RELEASE.jar:1.5.0.RELEASE]
  at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:251) ~[spring-data-redis-1.5.0.RELEASE.jar:1.5.0.RELEASE]
  at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:58) ~[spring-data-redis-1.5.0.RELEASE.jar:1.5.0.RELEASE]
  at org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:128) ~[spring-data-redis-1.5.0.RELEASE.jar:1.5.0.RELEASE]
  打开cmd 然后使用 telnet ip 端口 来ping 配置的redis(要保证redis已启动),发现无法ping通。
  这是因为在redis.conf中有个配置 bind 127.0.0.1 这个是默认只有本机访问,把这个注释掉就好了,注释以后查看redis进程就变为下面这样:
[iyunv@localhost redis]# ps -ef | grep redis

  root      5655     1  0 11:40 ?        00:00:23 ./redis-server *:6379
  root     21184 18040  0 17:33 pts/1    00:00:00 grep --color=auto redis
  这个*号就表示允许其它用户访问了。然后在用打开本机的 cmd使用 telnet ip 端口 就能ping通了。
  以上是全部内容,不足之处欢迎指出,互相交流才有进步!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-426148-1-1.html 上篇帖子: redis集群原理 下篇帖子: 使用redis构建可靠分布式锁
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表