1、安装
2、安装依赖包
yum install gcc gcc-c++
3、下载源码包
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
4、解压安装
tar -xf redis-4.0.10.tar.gz
cd redis-4.0.10
make && make install
注: make 执行失败,解决
[root@localhost redis-4.0.2]# make distclean; make
5、配置redis
mkdir /etc/redis
cd redis-4.0.10/
cp redis.conf /etc/redis/6379.conf
cp utils/redis_init_script /etc/init.d/redis
chmod 755 /etc/init.d/redis
编辑配置文件 /etc/redis/6379.conf
daemonize yes # 守护进程的方式启动服务
注:守护进程的方式启动服务时,即使执行启动服务命令的终端关闭,服务仍然可以在后台运行。
设置监听地址
shell> vi /etc/redis/63779.conf
注:bind 参数若都注释掉,则会监听服务器上的所有 ip
可以指定一个或者多个,打开注释。
注意此配置项可能在 71 行左右。默认是 bind 127.0.0.1
6. 配置 centos7 systemd 管理 redis 服务
示例1、在/lib/systemd/system目录下创建一个脚本文件redis.service,里面的内容如下:
# vim /lib/systemd/system/redis.service
[Unit]
Description=Redis
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf --daemonize no
ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown
[Install]
WantedBy=multi-user.target
注:[Unit] 表示这是基础信息配置块
Description 是描述
After 开启自启动时候的顺序, 指定的服务必须先于次此服务启动,一般是网络服务启动后启动
[Service] 表示这里是服务信息配置块
Type 指定启动服务的类型, simple 是默认的方式
EnvironmentFile 指定服务启动时用到的配置文件
ExecStart 是启动服务的命令
ExecStop 是停止服务的指令
[Install] 表示这是是安装信息配置块
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
授权在主机启动的时候同时启动服务
systemctl enable redis.service
示例2、 systemctl 使用普通用户启动
# 创建启动用户
useradd -s /sbin/nologin -r redis
vim /lib/systemd/system/redis.service
[Unit]
Description=Redis Server
After=network.target
[Service]
Type=simple
#PIDFile=/var/run/redis.pid
User=redis
#ExecStartPre=/bin/mkdir -p /var/lib/redis/logs
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/bin/kill -15 $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
## 刷新配置启动
systemctl daemon-reload
systemctl start redis
3、检查默认端口 6379 是否监听
[root@localhost system]# ss -antpd |grep 6379
手动使用命令指定配置文件启动服务
/usr/local/bin/redis-server /etc/redis/6379.conf
redis-cli -p 6379 #客户端指定端口访问
redis-cli -p 6379 shutdown #手动停止服务
注:手动启动服务就需手动关闭服务,再执行systemctl restart redis
二 . redis 开启密码验证
修改redis配置文件:redis.conf
cp redis.conf /usr/local/redis/redis.conf
vim /usr/local/redis/redis.conf
# requirepass foobared
requirepass 1234
注:将foobared 修改为1234,1234 就是密码
登入验证:
# redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 1234
OK
127.0.0.1:6379> keys *
三 . redis 备份与恢复
redis默认将数据存放到dump.rdb文件中
配置文件修改数据存储位置
vim /usr/local/redis/redis.conf
# The filename where to dump the DB
dbfilename dump.rdb
# Note that you must specify a directory here, not a file name.
dir /usr/local/redis/
注:
dump.rdb 转储数据库的文件名,redis服务在关闭时会将数据保存到dump.rdb文件中,重新启动时会在读取dump.rdb 文件进行数据恢复
dir /usr/local/redis/ dump.rdb存放的位置
也可使用命令生成dump.rdb 文件
# redis-cli save
开启aof存储
配置文件中打开下面选项,默认为no
appendonly yes
# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
redis 关闭时会将数据写入到appendonly.aof 文件,重新启动时会读取appendonly.aof 恢复数据
2.aof 开启后重启redis不会加载dump.rdb文件
3.若服务redis没有开启aof存储,但数据有很重要不能丢失,可执行下面命令生成aof文件
# redis-cli
127.0.0.1:6379> BGREWRITEAOF
数据恢复
先停止redis服务
将appendonly.aof或dump.rdb文件拷贝到配置文件定义的数据目录下面(注意: 文件名应与配置文件中定义的文件名相一致)
重启redis服务
查看验证