Linux安装Redis
前言:还是和以前一样,linux安装软件的目录都是data目录
1.进入data目录,创建redis目录并进入该目录
cd /data mkdir redis cd redis
2.上传 "redis-4.0.11.tar.gz" 文件到当前目录(/data/redis)
"redis-4.0.11.tar.gz" 文件地址:https://shaun.lanzoum.com/iICjb0u298te
3.解压redis
tar -zxvf redis-4.0.11.tar.gz
4.进入刚刚解压完成的目录(redis-4.0.11)
cd redis-4.0.11
5.编译redis
make MALLOC=libc
小剧场:
可以看到,主动离开了这个目录,并且还让我们试试"make test",试试就试试
make test
这次很直接呀,直接错误1,错误2,(完全不慌0_o)
已知:You need tcl 8.5 or newer in order to run the Redis test
说明系统中 缺少 tcl 或者 tcl 版本比较老
解决:
- 检查系统中是否有 tcl (发现系统中没有安装tcl)
rpm -qa | grep tcl
- 下载 tcl-8.5.13-8.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/tcl-8.5.13-8.el7.x86_64.rpm
- 安装 tcl-8.5.13-8.el7.x86_64.rpm
rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm
- 检查一下系统中是否有 tcl (有了,老铁没毛病)
rpm -qa | grep tcl
- 再试试:make test (全是 绿色ok :666666)
make test
纯绿色没有报错,OK了,小剧场完结撒花,希望以后再也没有小剧场了。
TIPS:
redis编译需要依赖gcc,安装gcc
yum -y install gcc
检查gcc版本,若gcc版本过低5.3以下,则无法编译redis6
gcc -v
升级到gcc 9
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
6.重新编译redis,可以看到只是给了一个提示,别怕,问题上一步骤已经解决了。
make MALLOC=libc
7.安装redis
make install PREFIX=/data/redis
8.进入bin目录
cd /data/redis/bin
9.生成一个redis配置文件
cp /data/redis/redis-4.0.11/redis.conf /data/redis/bin/
配置redis为后台启动:修改这个配置文件 vi /data/redis/bin/redis.conf //将daemonize no 改成daemonize yes
将redis加入到开机启动
vi /etc/rc.local
在里面添加内容 (意思就是开机调用这段开启redis的命令):
/data/redis/bin/redis-server /data/redis/bin/redis.conf
如果发现开机自启不生效,那么需要给权限:
chmod +x /etc/rc.d/rc.local
10.启动redis
/data/redis/bin/redis-server
11.新开一个会话窗口,关掉刚刚redis的会话窗口(哪怕服务器关机重启)
12.查看redis是或启动成功
ps -e | grep redis
ps -ef |grep redis
netstat -lntp | grep 6379
(成功了,站起来活动一下身体吧!)
13.其他
1.常用命令 redis-server /usr/local/redis/etc/redis.conf //启动redis pkill redis //停止redis 卸载redis: rm -rf /usr/local/redis //删除安装目录 rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本 rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹 2.启动redis: 两种方式: redis-server & 加上`&`号使redis以后台程序方式运行 或者是 redis-server 3.检测后台进程是否存在 ps -ef |grep redis
4.检测6379端口是否在监听 netstat -lntp | grep 6379 有时候会报异常 原因: Redis已经启动 解决: 关掉Redis,重启即可 redis-cli shutdown redis-server 然后你就能看到Redis愉快的运行了. 使用redis-cli客户端检测连接是否正常 redis-cli 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> set key "hello world" OK 127.0.0.1:6379> get key "hello world" 停止redis: 使用客户端 redis-cli shutdown 因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的 kill -9 PID #启动redis服务端 $ src/redis-server #启动redis客户端 $ src/redis-cli
安装redis时 提示执行make命令时提示 CC adlist.o /bin/sh: cc: 未找到命令 这是由于系统没有安装gcc环境,因此在进行编译时才会出现上面提示,当安装好gcc后再进行编译时,上面错误提示将消失 yum -y install gcc automake autoconf libtool make yum install gcc-c++