redis源码安装

#安装目录

mkdir -p /data/apps/redis
cd /data/tgz
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
cd redis-3.2.1
make PREFIX=/data/apps/redis install #安装到指定目录中

#在安装redis成功后,你将可以在/data/apps/redis看到一个bin的目录,里面包括了以下文件:

redis-benchmark

redis-check-aof

redis-check-dump

redis-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-server
CLIEXEC=/data/apps/redis/bin/redis-cli

#将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf

mkdir /etc/redis
cp /data/tgz/redis-3.0.7/redis.conf /etc/redis/6379.conf
cp /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/697300 http://blog.csdn.net/u010391029/article/details/51711185 http://www.th7.cn/db/nosql/201606/193670.shtml http://www.tuicool.com/articles/bMFbIzU http://my.oschina.net/huihua/blog/697300 解决方案 http://blog.csdn.net/fgf00/article/details/51388422 http://www.8090st.com/linux-bingdu-kill.html http://www.ipastimes.com/post/86.html

redis安全设置 https://ruby-china.org/topics/28094 http://blog.csdn.net/21aspnet/article/details/50578668 http://blog.csdn.net/hel12he/article/details/46911159 http://www.111cn.net/sys/centos/85890.htm https://www.phpxun.com/post/136.html http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/ http://www.ctohome.com/FuWuQi/33/627.html

redis的持久化有rdb和aof两种。 rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化。 aof可以实现每次操作都持久化。 这里我们使用aof。

配置方式,打开redis的配置文件。找到appendonly。默认是appendonly no。改成appendonly yes。

redis.conf参数,具体参考博文:

http://www.cnblogs.com/joshua317/p/5635297.html

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 redis
chkconfig 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 OK redis 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 操作,因为它会阻塞所有客户端

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端小叙

windows mongodb最常用命令简单归纳

在windows安装好了windows,首先记得要把mongodb bin目录路径放在 系统环境变量的path中,确定之后即配置好了mongo的环境变量,在do...

3856
来自专栏Android小菜鸡

Android 6.0取消了HttpClient等方法解决方法

在eclipse或 android studio开发,   设置android SDK的编译版本为23时,且使用了httpClient相关类的库项目:如and...

1772
来自专栏nice_每一天

excel导出使用get请求参数过长问题

excel导出功能时,使用的是window.location.href=url也就是get请求。当传入参数过长的时候就报了414,地址过长的错误。

1832
来自专栏鸿的学习笔记

日志采集技术笔记

使用Linux的rename机制保证文件写入要么成功,要么失败,绝对不能出现写了一半的情况。

3655
来自专栏分布式框架学习

zookeeper与kafka集群搭建与测试

2205
来自专栏葡萄城控件技术团队

如何在ASP.NET中生成HTML5离线Web应用

传统的Web应用程序有一个很大的症结是当用户的网络连接不好时,应用会加载失败,为了 解决这一问题,HTML5中引入了Web的离线工作的功能。离线功能使得Web应...

2266
来自专栏linux运维学习

linux学习第十四篇:查看磁盘,文件大小命令:df,du;磁盘分区

df命令 df:查看已挂载磁盘的总容量、使用容量、剩余容量等,可以不加任何参数,默认是按k为单位显示的。 ? 带有tmpfs的都是临时的文件系统,所以在对应的挂...

2178
来自专栏清风

Linux passwd: 拒绝权限(Permission denied)

2043
来自专栏ytkah

如何修改dedecms专题目录默认名称special

  专题有一个聚合的效果,一般会比普通的文章页更符合用户需求。如果用dedecms建专题的话,默认的目录是special,怎么修改修改dedecms专题目录名称...

2865
来自专栏散尽浮华

Gitlab上采用rpm方式快速安装的操作记录

之前梳理了一篇Gitlab的安装CI持续集成系统环境---部署Gitlab环境完整记录,但是这是bitnami一键安装的,版本比较老。下面介绍使用rpm包安装G...

2565

扫码关注云+社区

领取腾讯云代金券