mkdir -p /data/apps/rediscd /data/tgzwget http://download.redis.io/releases/redis-3.2.1.tar.gzcd redis-3.2.1make PREFIX=/data/apps/redis install #安装到指定目录中
#在安装redis成功后,你将可以在/data/apps/redis看到一个bin的目录,里面包括了以下文件:
redis-benchmarkredis-check-aofredis-check-dumpredis-cli redis-server
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。或者通过telnet进行纯文本协议操作redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能#将redis做成一个服务
#必须将其复制到/etc/rc.d/init.d的目录下,将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis。cp /data/tgz/redis-3.2.1/utils/redis_init_script /etc/rc.d/init.d/redis
#如果这时添加注册服务:
chkconfig --add redis#将报以下错误:redis服务不支持chkconfig#为此,我们需要更改redis脚本。vim /etc/rc.d/init.d/redis#!/bin/sh #chkconfig: 2345 80 90 #添加这一行#同时修改EXEC=/data/apps/redis/bin/redis-serverCLIEXEC=/data/apps/redis/bin/redis-cli
#将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf
mkdir /etc/rediscp /data/tgz/redis-3.0.7/redis.conf /etc/redis/6379.confcp /data/tgz/redis-3.0.7/redis.conf /data/apps/redis/bin/redis.conf
redis配置密码,尤为重要去掉行前的注释,并修改密码为所需的密码,保存文件
#requirepass foobared requirepass mypasswd
由于未设置密码引起的问题:
#安全起见,密码必须设置,否则容易遭受攻击,具体请见以下博客:
redis未授权访问缺陷http://my.oschina.net/huihua/blog/697300http://blog.csdn.net/u010391029/article/details/51711185http://www.th7.cn/db/nosql/201606/193670.shtmlhttp://www.tuicool.com/articles/bMFbIzUhttp://my.oschina.net/huihua/blog/697300解决方案http://blog.csdn.net/fgf00/article/details/51388422 http://www.8090st.com/linux-bingdu-kill.htmlhttp://www.ipastimes.com/post/86.htmlredis安全设置
https://ruby-china.org/topics/28094http://blog.csdn.net/21aspnet/article/details/50578668http://blog.csdn.net/hel12he/article/details/46911159http://www.111cn.net/sys/centos/85890.htmhttps://www.phpxun.com/post/136.htmlhttp://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/http://www.ctohome.com/FuWuQi/33/627.htmlredis的持久化有rdb和aof两种。 rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化。 aof可以实现每次操作都持久化。 这里我们使用aof。
配置方式,打开redis的配置文件。找到appendonly。默认是appendonly no。改成appendonly yes。
redis.conf参数,具体参考博文:
daemonize:是否以后台daemon方式运行pidfile:pid文件位置port:监听的端口号timeout:请求超时时间loglevel:log信息级别logfile:log文件位置databases:开启数据库的数量save * *:保存快照的频率,第一个*表示多长时间(秒级),第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。rdbcompression:是否使用压缩dbfilename:数据快照文件名(只是文件名,不包括目录)dir:数据快照的保存目录(这个是目录)appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)slaveof :主从配置,在redis-slave上配置master的ip port,即可 这样,redis服务脚本指定的CONF就存在了。默认情况下,Redis未启用认证,可以通过开启6379.conf的requirepass 指定一个验证密码。#注册redis服务:
chkconfig --add redischkconfig redis on
将Redis的命令所在目录添加到系统参数PATH中
vi /etc/profile在最后行追加: export PATH="$PATH:/data/apps/redis/bin"然后马上应用这个文件:
./etc/profile或者source /etc/profile这样就可以直接调用redis-cli的命令了,如下所示:
redis-cli redis 127.0.0.1:6379> auth mypasswd OKredis 127.0.0.1:6379>
#启动redis服务
#1.直接启动
./redis-server ./redis.conf &
#如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:
redis-cli -p 6380
#2 使用Redis启动脚本设置开机自启动(推荐)
service redis start
#关闭redis
./redis-cli -a mypasswd save#或者使用bgsave命令
#关闭
redis-cli shutdown #因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的 kill -9 PID #指定密码关闭 /data/apps/redis/bin/redis-cli -a mypasswd shutdown
备注:
#关闭redis,关闭之前先保存./redis-cli -a pwd -p 6379 save #保存./redis-cli -a pwd -p 6379 shutdown #关闭#启动redis./redis-server ./redis.conf &#备注:生产环境,保存数据 使用 BGSAVE 命令,在生产环境很少执行 SAVE 操作,因为它会阻塞所有客户端