1. 前言
2. 下载Redis
两种方法:
- 通过官网下载后传到linux机器上(机器无法访问外网时)
- linux上通过wget直接下载
redis官网地址:http://www.redis.io/
所有历史版本下载地址:http://download.redis.io/releases/
redis中文文档地址:http://www.redis.cn/documentation.html
3. 解压并安装Redis
注意:如果是新机器,需要先安装gcc
安装gcc:
验证gcc是否安装成功:
- 解压
下载完成后需要将压缩文件解压,输入以下命令解压到当前目录
cd 到/usr/local目录下输入ls命令可以查询到当前目录已经多了一个redis子目录,同时/root目录下已经没有redis-5.0.7文件夹
- 编译
cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。
- 安装
输入以下命令
这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字,Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定好目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。
- 启动redis
根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis
两种方式区别无非是有无带符号&的区别。 redis-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。
- 查看redis 进程
-
使用redis-cli 链接redis服务器
注意:默认链接的是localhost 运行在 6379 端口的 redis 服务 -
使用 redis-cli 的 -h (服务器地址) -p (端口)进行连接
4. 修改redis.conf的参数配置
再次启动:
这里列举下比较重要的配置项
这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。
这样启动后我就可以在外网访问了。
5. 使用redis启动脚本设置开机自启动
脚本中指定了端口、server路径、cli路径、pidfile路径以及conf路径;
上述EXEC、CLIEXEC、PIDFILE、CONF都需要正确配置,根据自己的安装目录。
多说一句,如果在安装时执行了make install,那么这里的脚本不需要做多大改动,因为make install把server和cli都拷到/usr/local/bin下面了。
接着将redis_init_script脚本拷贝到/etc/init.d/redisd;看清楚目录,是在 etc/init.d目录下,为什么?因为 linux开机会 执行这个目录中的文件
在/etc/init.d下的脚本都是可以在系统启动是自动启动的服务,而现在还缺一个系统启动时的配置:
然后就会发现报了一个错误:服务 redisd 不支持 chkconfig ?
参考这篇文章, 这是因为我们需要在redis_init_script的开头加一个小改动:
至于这里2345 90 10分别代表什么意思,请参考上面的文章链接。
保存完重新拷贝到/etc/init.d/redisd后,再运行chkconfig就完成了。
一切就绪之后,可以执行以下命令检验service是否设置成功:
最后重启一下系统吧,进入系统之后直接运行redis-cli检验redis服务是否已经自动运行了。
6. 其他redis.conf配置
7. 其他问题
7.1 centeros的redis-cli命令不生效解决方法
如果你已经安装了redis服务器,并且已经启动,但是redis-cli命令无法生效,分析,命令未加入环境变量。那就给redis命令加入环境变量中:
注意点:redis安装目录会有不同,注意下面的PATH的变量设置,由于我的redis是自己编译的,安装在/usr/local/redis目录下,如不同,请修改。务必注意!!!更改后敲入对应命令行:
7.2 Could not connect to Redis at 127.0.0.1:6379: Connection refused
7.3 DENIED Redis is running in protected mode报错解决办法
如下所示,程序连接redis报错,根据错误信息,redis运行在受保护模式,需要redis命令行下作设置:config set protected-mode no。
redis.clients.jedis.exceptions.JedisDataException: DENIED 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.
7.4 Linux重启后Redis数据丢失解决方案
https://www.cnblogs.com/fanshuyao/p/7222011.html
7.5 /var/run/redis_6379.pid exists, process is already running or crashed
安装启动service redis start时报错 /var/run/redis_6379.pid exists, process is already running or crashed
解决办法:
之后再重新启动即可
8. 相关文章
(1) redis集群搭建
redis集群搭建
(2) 华为云两台机器内网互联
华为云两台机器内网互联
(3) /etc/rc.d/init.d 详解|程序开机自启
/etc/rc.d/init.d 详解|程序开机自启
(4) Redis5.0+ Redis集群水平扩容|节点删除
Redis5.0+ Redis集群水平扩容|节点删除
(5) 三台机器搭建redis集群过程及问题记录
三台机器搭建redis集群过程及问题记录
(6) redis5.0集群搭建(两台服务器)
redis5.0集群搭建(两台服务器)
(7) Linux安装部署Redis
Linux安装部署Redis
(8) 【redis】 windows环境下安装、配置、使用、卸载
【redis】 windows环境下安装、配置、使用、卸载
(9) CentOS chkconfig的安装及使用
CentOS chkconfig的安装及使用
(10) 解决Linux局域网不能相互访问
解决Linux局域网不能相互访问
(11) redis集群中节点fail,noaddr
redis集群中节点fail,noaddr
参考文献:
https://www.cnblogs.com/hunanzp/p/12304622.html
https://www.cnblogs.com/zhxilin/p/5892678.html
https://www.cnblogs.com/xyinjie/p/9444280.html
https://blog.csdn.net/xiaofei_hah0000/article/details/52214592
redis:Could not connect to Redis at 127.0.0.1:6379: Connection refused错误解析
https://blog.csdn.net/qaz18201142158/article/details/107260181/