先把文件上传到/home/study/目录,然后执行解压命令,解压到/usr/local/这个目录一般放的是开发软件
tar -zxvf redis-3.0.0.tar.gz -C /usr/local/
解压完成进入/usr/local/redis-3.0.0,因为redis是c++写的,所以要进行编译,执行命令:
make
编译可能遇到两个错误:
- gcc:命令未找到
- error:jemalloc/jemalloc.h:No such file or directory
gcc是什么?
gcc是GNU compiler collection的缩写,他是linux下一个编译器集合,是c或c++程序的编译器
安装gcc编译器
yum install gcc -y
查看gcc是否安装
which gcc
gcc安装完成后,先清理一下上次make产生的文件,然后在make,清理命令:
make distclean
错误2:解决方法
没找到头文件,
内存分配器使用libc
make MALLOC=libc
错误解决后,make.install执行不执行都可以,执行会把redis的命令放到/usr/local/bin/这个目录,在任何目录下都能执行,不然只能在/usr/local/redis-3.0.0/src目录执行redis命令。
make.install
启动redis
进入/usr/local/redis-3.0.0/src目录,执行
./redis-server
这是前台启动(退出这个目录,进程就会关闭。ctrl + c 退出。),后台启动命令
./redis-server &
输出日志启动,把日志都写到了nohup.out文件去了,这个文件在同级目录
nohup ./redis-server &
查看日志
cat nohup.out
人性化关闭
./redis-cli shutdown
暴力关闭
kill -9 pid
Redis客户端安装
这里用redis-desktop图形化界面连接redis
连接前需要修改redis配置文件
vim redis.conf (如果vim未找到命令执行: yum -y install vim-enhanced )
注销此行
yes改为no,修改后重启redis。
版本低的可能没有protected-mode,小编用的是3.0版本的没有protected-mode这个参数,修改daemonize的值改为 yes就ok了。
启动日志放到日志文件
nohup /usr/local/redis-3.0.0/src/redis-server /usr/local/redis-3.0.0/redis.conf &
若果redis.conf文件修改过以后,那么用图形化工具测试连接还是不通过,那么该考虑contos的redis6379端口是否开放了,也可以直接关闭防火墙。
可以先看看redis的端口是不是6379
netstat -lnpt (查看监听的端口)
开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
关闭端口
firewall-cmd --zone=public --remove-port=6379/tcp --permanent #关闭6379端口
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
查看防火墙状态
firewall-cmd --state
另外也可以先用telnet命令测试一下端口是否开放
telnet 127.0.0.0 6379
最后测试通过