赞
踩
安装redis本身不是很麻烦,需要下载压缩包,然后解压,编译,因为官网提供的都是c语言源码,所以麻烦在编译这里,它需要gcc编译器,这个编译器安装起来略麻烦些,幸而我找到了一种简单的离线安装方式。
所以先看下gcc:
先检查下环境中是否存在gcc编译器,输入gcc -v来测试:
现在环境没有gcc编译器,如果有输出如下:
若环境中存在gcc,可以跳过gcc安装。
下面说安装方式:
有几种方式安装,可以联网用命令安装,当然你的软件源必须得配好。还有离线安装,离线安装也有几种方式,下载gcc压缩包,我个人没有尝试成功。用相关的rpm包安装成功。这里记录下rpm安装方式(真·离线模式):
所需的rpm包如下:
其中tcl是在make test的时候需要,或许不装也可,未曾尝试。
这些rpm包都可以在rpm仓库找到,链接如下(我是centos7):
http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
如果是centos6可以参考如下地址:
http://mirrors.163.com/centos/6/os/x86_64/Packages/
用ftp工具将这些包传到服务器上,我扔在了tmp目录,新建一个文件夹rpm,里面是安装gcc需要的rpm包,rpm列表如下:
进入rpm目录,可以直接一个命令安装:
rpm -ivh *.rpm --nodeps --force
其中i表示安装,v表示显示安装过程,h表示显示进度,nodeps表示不考虑依赖,force就是强制安装。当然也可以一个个输命令(rpm -ivh mpfr.....rpm)效果如下:
显示安装成功,接下来输入gcc -v测试下:
到这里gcc就装好了,下面开始安装redis和配置:
下载redis包,我下的是5.0,将redis压缩包传到服务器上,然后解压:
进入解压目录查看:
接下来在这里执行make命令(这时候就是gcc在干活了),执行成功后显示效果如下:
如果这里报错(jemalloc/jemalloc.h: No such file or directory),需要加参数 MALLOC=libc
查看目录结构:
接下来进入src目录,准备开始安装工作,将redis安装到/usr/local/redis目录下,这个可以自定义,FHS(Filesystem Hierarchy Standard )推荐软件安装在/usr下,opt/目录可以存放些第三方协力软件,例如那些解压即用的。下一步在src目录下执行:
make install PREFIX=/usr/local/redis/
安装成功,可以按提示测试下make test,这个操作时间会比较长:
进入安装目录/usr/local/redis下看看:
可以看到当前是没有配置文件的,所以需要进入解压目录,把配置文件复制到bin目下:
cp redis.conf /usr/local/redis/bin/
结果如下:
先启动下试试:
启动成功。
再开一个窗口测试下:
这里证明redis启动没问题,但是目前服务端如果退出脚本就会结束进程:
接下来简单修改下配置文件让它可以在后台运行:
# 查找daemonize no改为 yes以守护进程方式运行 即以后台运行方式去启动
daemonize yes
# 修改dir ./为绝对路径, 默认的话redis-server启动时会在当前目录生成或读取dump.rdb 所以如果在根目录下执行redis-server /etc/redis.conf的话
# 读取的是根目录下的dump.rdb, 这个rdb相当于是一个redis的快照,为了能快速恢复,这里的dir就是缓存文件目录
dir /usr/local/redis/data/bin
# 修改appendonly为yes
# 指定是否在每次更新操作后进行日志记录, Redis在默认情况下是异步的把数据写入磁盘,
# 如果不开启,可能会在断电时导致一段时间内的数据丢失。 因为 redis本身同步数据文件是按上面save条件来同步的,
# 所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
# redis 日志生成位置
logfile "/var/log/redis/redis.log"
loglevel:指定日志级别,默认是notice这个适用于生产环境,开发的话还是打debug把。verbose(冗长的):包含很多不太有用的信息,但比debug要清爽一些。warning:警告信息。
如果需要设置密码的话,把requirepass注释去掉,写上自己的密码,重启服务即可。
重启后用客户端连接就需要认证了:
也可以在连接的时候就指定密码:
简单配置之后就可以重启测试下了:
由于现在启动在后台,所以看不到输出,可以进入日志目录查看日志:
日志打印启动成功。
可以用cli客户端连接测试下,发现连接成功,简单的插条数据,关闭redis用shutdown命令:
redis-cli shutdown
或者直接杀死进程。
如果是关闭远程服务器的redis用命令:
redis-cli -h xxx.xxx.xxx.xxx -p xxxx -u xxxx -a xxxx shutdown
目前来说,redis当前只能被本机访问,因为在redis.conf中指定bind ip为127.0.0.1,查看进程也能看到:
要修改redis处理其他地址的请求,需要修改redis.conf文件:
把它注释掉就好了。重启redis,查看进程:
*代表可以接受其他地址。这时候用另一个机子试一试:
连接远程命令为redis-cli -h 主机 -p 端口
发现连不上,连接不到主机,于是我ping了下地址:
地址是可以ping通的,所以问题可能出在端口上,检查防火墙端口是否开放6379:
发现防火墙没有开放这个端口,很显然下一步需要在防火墙中添加该端口:
添加完并重载防火墙后,查看端口已经开放。下面接着连接:
连接成功,但是提示redis在保护模式下,不允许操作。把配置文件里保护模式关了就好了。
然后重启redis,再次尝试连接:
连接成功。这里仅仅是记录我在安装配置中遇到的问题,折腾的时间也比较长,所以加以记录以免下次操作再多浪费时间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。