第二章、Redis安装(RPM包安装与编译安装)最新版Redis6.2.5
Redis官网(中文):http://www.redis.cn/download.html
Redis官网:https://redis.io/download
RPM包下载:https://pkgs.org/search/?q=redis 查找Les RPM de Remi x86_64 Third-Party 选择最新版下载redis-6.2.5-1.el7.remi.x86_64.rpm
安装分两种
RPM安装包下载:https://rpms.remirepo.net/enterprise/7/remi/x86_64/redis-6.2.5-1.el7.remi.x86_64.rpm
源码编译安装包:https://download.redis.io/releases/redis-6.2.5.tar.gz
rpm包安装:
wget https://rpms.remirepo.net/enterprise/7/remi/x86_64/redis-6.2.5-1.el7.remi.x86_64.rpm yum -y localinstall redis-6.2.5-1.el7.remi.x86_64.rpm rpm -ql redis #查看Redis安装rpm包
源码包编译安装:
约定设置:
环境为最小化安装:
Redis默认安装位置:/usr/local/redis
Redis默认配置文件位置:/usr/local/redis/redis.conf
Redis认证密码为: longtao
$ yum install -y gcc gcc-c++ make $ wget https://download.redis.io/releases/redis-6.2.5.tar.gz $ tar xzf redis-6.2.5.tar.gz $ mv redis-6.2.5 /usr/local/redis $ cd /usr/local/redis $ make -j 2 $ make install
编译报错:如果提示:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
#include <jemalloc/jemalloc.h>
编译中断。
那么编译使用:make MALLOC=libc
启动Redis
cd /usr/local/bin/ ./redis-server ../redis/redis.conf
执行redis-server,出现如下界面说明Redis算是装好了。不过有几个警告需要处理一下,解决的方法在警告信息中已经给出了。
# 第一个警告的解决方法
echo net.core.somaxconn=511 >> /etc/sysctl.conf
# 第二个警告的解决方法
echo vm.overcommit_memory=1 >> /etc/sysctl.conf
# 第三个警告的解决方法
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 使/etc/sysctl.conf生效
sysctl -p
客户端登录测试:
#redis-cli -p 6379 127.0.0.1:6379> ping PONG
结束进程:pkill redis
配置Redis为后台启动
vim /usr/local/redis/redis.conf
查找将daemonize no 改成daemonize yes
设置密码
redis默认没有设置密码,如果要设置密码,首先找到redis.conf文件;然后修改里面的requirepass,将注释去掉,并将后面对应的字段设置成自己想要的密码,保存即可。
225行左右修改
requirepass 你的密码
设置开机自启动
vim /etc/init.d/redis
# chkconfig: 2345 10 90 # description: Start and Stop redis PATH=/usr/local/bin:/sbin:/usr/bin:/bin #找到本机安装redis后,存放redis命令的目录 REDISPORT=6379 #redis的默认端口, 要和下文中的redis.conf中一致 EXEC=/usr/local/bin/redis-server #redis服务端的命令 REDIS_CLI=/usr/local/bin/redis-cli #redis客户端的命令 这两个一般都在 PATH目录下 PIDFILE=/var/run/redis.pid #reids的进程文件生成的位置 CONF="/usr/local/redis/redis.conf" #redis的配置文件所在的目录 #AUTH="1234" 这句没什么用可以不要 case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed." else echo "Starting Redis server..." $EXEC $CONF fi if [ "$?"="0" ] then echo "Redis is running..." fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE exists, process is not running." else PID=$(cat $PIDFILE) echo "Stopping..." $REDIS_CLI -p $REDISPORT SHUTDOWN sleep 2 while [ -x $PIDFILE ] do echo "Waiting for Redis to shutdown..." sleep 1 done echo "Redis stopped" fi ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 esac
测试一下redis 的启动
/etc/init.d/redis start
启动成功后,设置自动启动
chkconfig redis on
查看端口:两个命令
lsof -i :6379
ss -tnl