解压缩

tar zxvf redis-3.0.4.tar.gz

进入解压后的目录

cd redis-3.0.4

使用Make 编译源文件

make

安装

进入源文件的目录

cd src

复制 Redis 的服务器和客户端到 /usr/local/bin

cp redis-server redis-cli /usr/local/bin

最好也把 sentinel,benchmark 和 check 复制过去

cp redis-sentinel redis-benchmark redis-check-aof redis-check-dump /usr/local/bin

创建redis 配置文件夹

mkdir /etc/redis

在/var/lib/redis下创建有效的保存数据的目录

mkdir -p /var/lib/redis/6379

系统参数

为了让 redis 正常工作需要配置一些内核参数

配置 vm.overcommit_memory为1,这可以避免数据被截断,详情见此

sysctl -w vm.overcommit_memory=1

修改 backlog 连接数的最大值超过 redis.conf 中的 tcp-backlog值,即默认值511。你可以在kernel.org找到更多有关基于 sysctl 的 ip 网络隧道的信息

sysctl -w net.core.somaxconn=512

取消对透明巨页内存(transparent huge pages)的支持,因为这会造成 redis 使用过程产生延时和内存访问问题

echo never > /sys/kernel/mm/transparent_hugepage/enabled

redis.conf

redis.conf 是 redis 的配置文件,然而你会看到这个文件的名字是 6379.conf ,而这个数字就是 redis 监听的网络端口。如果你想要运行超过一个的 redis 实例,推荐用这样的名字。

复制示例的 redis.conf 到 /etc/redis/6379.conf

cp redis.conf /etc/redis/6379.conf

现在编辑这个文件并且配置参数

daemonize

设置 daemonize为 no,systemd 需要它运行在前台,否则 redis 会突然挂掉。

daemonize no

pidfile

设置 pidfile为/var/run/redis_6379.pid

pidfile /var/run/redis_6379.pid

port

如果不准备用默认端口,可以修改

port 6379

loglevel

设置日志级别

loglevel notice

logfile

修改日志文件路径

logfile /var/log/redis_6379.log

dir

设置目录为 /var/lib/redis/6379

dir /var/lib/redis/6379

安全

下面有几个可以提高安全性的操作

Unix sockets

在很多情况下,客户端程序和服务器端程序运行在同一个机器上,所以不需要监听网络上的 socket。如果这和你的使用情况类似,你就可以使用 unix socket 替代网络 socket,为此你需要配置 port为0,然后配置下面的选项来启用 unix socket。

设置 unix socket 的套接字文件

unixsocket /tmp/redis.sock

限制 socket 文件的权限

unixsocketperm 700

现在为了让 redis-cli 可以访问,应该使用 -s 参数指向该 socket 文件

redis-cli -s /tmp/redis.sock

requirepass

你可能需要远程访问,如果是,那么你应该设置密码,这样子每次操作之前要求输入密码

requirepass "bTFBx1NYYWRMTUEyNHhsCg"

rename-command

想象一下如下指令的输出。是的,这会输出服务器的配置,所以你应该在任何可能的情况下拒绝这种访问。

CONFIG GET *

为了限制甚至禁止这条或者其他指令可以使用 rename-command命令。你必须提供一个命令名和替代的名字。要禁止的话需要设置替代的名字为空字符串,这样禁止任何人猜测命令的名字会比较安全。

rename-command FLUSHDB "FLUSHDB_MY_SALT_G0ES_HERE09u09u"
rename-command FLUSHALL ""
rename-command CONFIG "CONFIG_MY_S4LT_GO3S_HERE09u09u"

快照

默认情况下,redis 会周期性的将数据集转储到我们设置的目录下的 dump.rdb文件。你可以使用save命令配置转储的频率,它的第一个参数是以秒为单位的时间帧,第二个参数是在数据文件上进行修改的数量。

每隔15分钟并且最少修改过一次键

save 900 1

每隔5分钟并且最少修改过10次键

save 300 10

每隔1分钟并且最少修改过10000次键

save 60 10000

开机时启动

你可以使用 systemd 将 redis 添加到系统开机启动列表

复制示例的 init_script 文件到 /etc/init.d,注意脚本名所代表的端口号

cp utils/redis_init_script /etc/init.d/redis_6379

现在我们要使用 systemd,所以在 /etc/systems/system下创建一个单位文件名字为redis_6379.service

vi /etc/systemd/system/redis_6379.service
[Unit]
Description=Redis on port 6379 [Service]
Type=forking
ExecStart=/etc/init.d/redis_6379 start
ExecStop=/etc/init.d/redis_6379 stop [Install]
WantedBy=multi-user.target

这样就可以启动了,通过设置这些选项你就可以部署 redis 服务到很多简单的场景

如何在centos7上安装redis的更多相关文章

  1. Redis简介以及如何在Windows上安装Redis

    Redis简介 Redis是一个速度非常快的非关系型内存数据库. Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erla ...

  2. 如何在centos7上安装源码包

    在我们使用linux的过程中,有很多程序是通过红帽官网给的系统中安装的,但是一般来说,系统更新的速度比较慢,如果这个时候我们又想用最新版的该怎么办呢?总不能一直等系统升级吧╮(╯﹏╰)╭所以,我们可以 ...

  3. 如何在Centos7上安装zookeeper 多实例

    一.如何在Centos7上安装zookeeper 多实例 cd /usr/local/src/ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zoo ...

  4. Redis安装--CentOS7上安装Redis

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 1.R ...

  5. 如何在Centos7上安装和使用ZFS

    导读 ZFS文件系统的英文名称为ZettabyteFileSystem,也叫动态文件系统(DynamicFileSystem),是第一个128位文件系统.最初是由Sun公司为Solaris10操作系统 ...

  6. centos7上安装redis以及PHP安装redis扩展(二)

    PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP. 接下来让我们安装 PH ...

  7. centos7上安装redis

    关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启 ...

  8. centos7上安装redis以及PHP安装redis扩展(一)

    1.关闭防火墙: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewal ...

  9. 如何在Centos7上安装&使用docker

    Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且 ...

随机推荐

  1. 修改apache的默认www目录

    httpd.conf配置文件#DocumentRoot "/var/www/html" //修改前DocumentRoot "/www" #<Direct ...

  2. create groups 和 create folder reference

      当将文件拖入工程中的时候会出现这个对话框,这个对话框中在Added folders中有两种选择:Create groups 和 Create folder references   这两种的区别是 ...

  3. SQL Server 文件结构 与 全局变量,函数

    SQL Server 文件结构与全局变量 数据库和表 文件类型 主数据文件 .mdf 次要数据文件 .ndf 日志文件 .ldf 系统数据库 master 数据库 记录所有的登陆账户和系统配置设置 记 ...

  4. Visual Studio 2017离线安装包下载、安装

    1. 首先下载在线安装exe,官网地址https://www.visualstudio.com/zh-hans/downloads/ 2. 运行CMD, 执行脚本 vs_enterprise.exe ...

  5. file里的路径

    实例话file类的对象 File file=new File("d:/mydoc/hello.txt") 文件名:fileMethod.java 相对路径:fileMethod.j ...

  6. 接口开发,tp5结合swagger-ui安装方法

    今天看到老java用的swagger提供接口,美观好用,方便维护,不是写好接口之后再写接口文档,麻烦的要死.网上找了找结合php的方法,在此记录一下,以后再开发接口就可以方便很多了. Swagger的 ...

  7. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  8. es6知识总结--3

    es6知识总结--3 es6对咱们es3,es5的数据类型进行了升级下边说新APIs! js数据类型有Number.String .oject.Boolean.Null.Undefined六种数据类型 ...

  9. .NetCore~C#6的一些新特性

    回到目录 在进行.netCore平台后,由于它的版本在.net4.6,C#6之后,所以它的语法也有一些新的特性,主要表现在以下几个方面 只读属性初始化 static string Hello => ...

  10. CJOJ 2485 UVa 11991 生日礼物 / UVa 11991 Easy Problem from Rujia Liu?

    CJOJ 2485 UVa 11991 生日礼物 / UVa 11991 Easy Problem from Rujia Liu? Description (原题来自刘汝佳<训练指南>Pa ...