1.准备工作
#进入local文件夹
[root@Panghl /]# cd /usr/local/
#创建redis5 文件夹
[root@Panghl local]# mkdir redis5
#进入redis5文件夹
[root@Panghl local]# cd redis5
2.将redis安装包【是个后缀 .tar.gz的压缩包】放于redis文件夹里
可以通过指令下载 :
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
或者可以去redis中文网下载 redis中文网链接
然后通过工具传到redis文件夹里。
3.解压
下载安装包完成后可看到 xxx.tar.gz的压缩包。
#解压缩
tar -zxvf redis-5.0.4.tar.gz
#顺手删掉压缩包
rm -f redis-5.0.4.tar.gz
4.编译安装
(1)
#解压好后,进入 redis-5.0.4 文件夹
[root@Panghl redis5]cd redis-5.0.4/
#运行指令
[root@Panghl redis-5.0.4]# make
编译安装文件 ,可能需要等一会,没那么快 。
然后继续进入src文件夹
执行 make test 你会发现报错,缺少tcl
(2)
指令 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
直接下载 tcl
指令 sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
以管理员身份解压到指定位置 ,这里是解压到 /usr/local/ ,会新建一个叫 tcl8.6.1 的文件夹
指令 cd /usr/local/tcl8.6.1/unix/
进入 unix文件夹 ,
指令 sudo ./configure
以管理员身份执行./configure
指令sudo make
以管理员身份编译
指令 sudo make install
以管理员身份安装,
//
指令 /usr/local/redis/redis-5.0.8/src
再次进入src文件夹,
指令 make test
再次测试安装,当出现报错
"test_client_main $::test_server-port"
make: *** [test] Error 1
说明可以安装redis了,但是因为redis不需要安装,已经是个解压且编译好的文件,这不需要再安装,可直接使用
5.查看端口是否被占用
ps -ef | grep redis
如果有进程使用6379 直接执行指令: kill -9 进程id #强制关闭 进程数为...的进程
6.修改redis.conf 配置文件 ,开启允许redis以服务的方式运行在后端
##进入redis.conf
[root@Panghl src]# vi /usr/local/redis5/redis-5.0.4/redis.conf
将daemonize 属性修改为 yes , 并且保存并退出(按esc后,按符号 ;+shift,然后输入 wq 再按回车即可保存并退出) 也可shift+zz
7.启动 redis
第一次启动成功后,会出现三个警告!接下来我们来干掉它!
从上到下三个错误的原因是
(1)tcp设置的值太小了,需要修改更大的才行
(2)overcommit_memory参数设置为0!在内存不足的情况下,后台程序save可能失败,需要设为1
(3)使用透明大页THP,可能导致redis延迟和内存使用问题,需要关闭
具体解决操作:
(1)解决 警告1 和 2需要修改rc.local文件
指令 vi /etc/rc.local
修改 rc.local文件 保存并退出
(2)解决 警告3 需要 修改rc.local文件
指令 vi /etc/rc.local
添加内容
echo never > /sys/kernel/mm/transparent_hugepage/enabled
重启linux服务器 reboot
先进入src文件夹: cd /usr/local/redis5/redis-5.0.8/src
然后启动指令使用 ./redis-server /usr/local/redis/redis-5.0.8/redis.conf
加上配置文件,将会以服务的方式后端运行,那么 按ctrl+c键不会关闭redis
8.启动redis客户端
执行指令:./redis-cli
此时就可使用redis了。
9.设置系统开机自动启动。
(1)创建一个文件并进入 : vi /etc/init.d/redis
(2)编写脚本,路径根据实际情况写!
#!/bin/sh
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
#端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改
REDISPATH=/usr/local/redis5/redis-5.0.4
#redis-server启动脚本的所在目录,你如果忘了可以用find / -name redis-server 或whereis redis-server找到
EXEC=${REDISPATH}/src/redis-server
CLIEXEC=${REDISPATH}/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
#在redis.conf中可找到该路径
CONF="${REDISPATH}/redis.conf"
#redis.conf的位置, 如果不和redis-server在同一目录要修改成你的redis.conf所在目录
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
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
(3)设置启动权限
指令 chmod 777 /etc/init.d/redis
(4)现在试一下能不能启动
先检查是否有进程占用端口 6379
指令 ps -ef | grep redis
如果有以指令 kill -9 [进程数] 来关闭
指令cd /var/run
进入装有进程目录的文件夹run ,查看是否有文件 redis_6379.pid ,有则需要删除
删除指令 rm -f /var/run/redis_6379.pid
[当进程停止时对应的.pid文件会删除,开启时则会创建 ,但是有时候强制停止进程,会遗留 pid文件没有删除,因此需要手动删除]
指令/etc/init.d/redis start
启动redis服务
连接redis客户端(命令连接,可视化工具连接)
(1)指令 redis-cli 或redis-cli --raw(想要在任何目录输入redis-cli连接redis客户端需要做如下配置)
修改profile文件:
#vi /etc/profile
在最后行添加:
export PATH=$PATH:/usr/local/redis5/redis5.0.4/src
若有多个PATH配置,只需要用 : 隔开 src是redis-cli所在目录
然后马上应用这个文件:
source /etc/profile
这样就可以直接在任意目录下调用redis-cli命令了,如图所示:
(2)可用可视化工具测试连接redis:新建一个连接
注意:连接阿里云服务器的redis 需要将6379的端口开放,添加安全组规则!
指令 /etc/init.d/redis stop
关闭redis