第二章、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
