前言:本文内容为实操记录,仅供参考!
Redis安装参考这篇文章:http://t.csdnimg.cn/G15Mv
本文是安装及使用过程中遇到的问题总结。
- redis在解压完之后,使用make进行编译(在安装目录进行编译)。如果报出:“cc 未找到命令,原因是虚拟机系统中缺少gcc。”此时使用yum -y install gcc automake autoconf libtool make命令进行解决,如果报出:“致命错误:jemalloc/jemalloc.h: 没有那个文件或目录,需要在make指定分配器为libc。”此时应执行make MALLOC=libc命令继续进行编译,如若期间有报错,请尝试再次执行make。
- 在对redis进行安装部署的编译期间报出tmp空间不足,原因是tmp文件夹只被挂载了1M,导致Redis无法进行编译。解决:在根目录下新建了newtmp文件夹,并在配置文件中将TMPDIR的路径指向了新文件夹。(目前不确定挂载文件夹是否真正奏效,由于这种方法直观地来看解决了redis的编译问题,建议保留/newtmp文件夹)
- 如果没能编译通过,想要再次执行编译,那么应该删除解压后的redis目录,重新对压缩包进行解压,之后再进行编译。编译完成之后使用make install PREFIX=/usr/local/redis命令进行安装。
- 编译安装完成之后,应检查此时的安装目录下是否包含redis.conf配置文件和bin目录,本次安装之后找不到bin目录,查找之后得知bin目录指向了原先版本的redis的安装目录下,我直接将其剪切到指定的安装目录下,问题解决。
- 在bin目录下执行redis-server /usr/local/redis-6.2.6/redis.conf服务启动命令后,命令窗口定格在redis的启动界面,此时的redis已经启动成功,只是这个窗口无法在执行其他命令,如果使用ctrl+C键将中止redis服务启动,这时候就需要另开一个新的命令窗口来继续执行其他操作。解决:通过将redis.conf配置文件中daemonize no改为了daemonize yes,实现redis-server默认后台启动。
- 启动Redis报错:WARNING overcommit_memory is set to 0 Background save may fail under low memory condition。这是内存的值设置过低的造成的问题。解决:编辑/etc/sysctl.conf,添加vm.overcommit_memory = 1 #表示内核允许分配所有的物理内存
- 启动Redis报错:WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.这是因为某个配置文件的值过低,导致无法承载redis服务启动。此时应该再/etc/sysctl.conf文件中添加字段并赋值net.core.somaxconn = 1024,然后执行sysctl -p进行刷新,问题解决。
- 通过将redis.conf配置文件中的bind 127.0.0.1 -::1注释掉,实现redis服务允许远程连接。
- 通过在redis.conf配置文件中添加requirepass '此处为密码',实现登录校验。