云服务器配置redis给springboot项目使用
请仔细阅读文章,常见错误都有罗列
- 本文选择的是阿里云的轻量级学生机,搭载linux的Centos7系统
- 本文使用的集成环境是IDEA,使用了阿里的仓库,(也科学上网来着,但是应该没啥必要)
- 云服务器的连接可以选择在阿里云服务器的界面直接连接,也可以自己去找合适的工具
- 本文有作者踩的大坑,希望看到的小伙伴不要再踩坑了
云服务器的配置
先获取管理员权限
sudo su root
然后查看当前文件夹内容,选择你要安卓的位置,这里选择在usr下的local文件夹内安装redis,我把redis装在如图位置了
wget http://download.redis.io/releases/redis-stable.tar.gz
- 解压
执行命令
tar zxvf redis-stable.tar.gz
- 移动
执行命令
mv redis-stable /usr/local/redis
- 编译
进入到redis的src目录下
cd /usr/local/redis/src
然后编译
make
make install
make test
以下是我踩的坑!!!
以下是我踩的坑!!!
以下是我踩的坑!!!
1.在这个过程种,如果出错,提示 You need tcl 8.5 or newer in order to run the Redis test 解决:
2.如果出现报错 server.c:xxxx:xx: error: ‘xxxxxxxx’ has no member named ‘xxxxx’
去检查你的gcc版本,多半更新gcc可以解决!!!参考下面这篇文章
3.一般来说在你安装过程中,可能报错 Leaving directory `/opt/tcl8.6.1/unix/pkgs/thread2.7.0
这个就不用管它就行,不影响。
4. 在云服务器端,运行redis-server和redis-cli成功,并且用户端可以访问数据库,可是本地的项目却不能访问,提示DENIED Redis is running in protected mode because protected mode is enabled
如何解决?
需要对redis.conf作以下修改:
- protected-mode yes修改成protected-mode no,解除保护模式
- 注释掉绑定ip ,绑定ip使得除了本机(服务器)以外的主机无法访问redis数据库
将 bind 127.0.0.1这行注释掉
# bind 127.0.0.1
- 将守护进程模式关闭
daemonize yes 改成 daemonize no - 最后,一定记住要redis-server redis.conf重启redis的配置文件,否则修改不生效!!!
- 使用vim修改配置文件时可能出现提示你该文件被另一进程打开,选择删除就可以,这是因为你使用vim修改文件的时候会生成临时文件,你修改的是临时文件,退出编辑模式时那个保存并退出的wq,w就是保存修改,q是删除临时文件(vim退出编辑模式:先esc,然后开大写按q再输入wq按回车就修改成功了!)
每次改变配置之后,记得先把测试的客户端和服务端依次关闭,然后redis-server redis.conf,不然配置修改成功了也保存成功了,也不对redis-server生效
每次改变配置之后,记得先把测试的客户端和服务端依次关闭,然后redis-server redis.conf,不然配置修改成功了也保存成功了,也不对redis-server生效
事实上以后每次启动redis-server的时候都要用redis-server redis.conf,才是按你更改过的配置启动服务器
全部修改完成,测试能否连接服务器的redis数据库,成功!!!