美文网首页
redis 源码安装

redis 源码安装

作者: 晨曦_zdq | 来源:发表于2019-02-27 11:45 被阅读0次
1、安装

官网下载源码:http://www.redis.cn/
http://download.redis.io/releases/

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/

注:

  1. dump.rdb 转储数据库的文件名,redis服务在关闭时会将数据保存到dump.rdb文件中,重新启动时会在读取dump.rdb 文件进行数据恢复
  2. 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"
  1. redis 关闭时会将数据写入到appendonly.aof 文件,重新启动时会读取appendonly.aof 恢复数据
    2.aof 开启后重启redis不会加载dump.rdb文件
    3.若服务redis没有开启aof存储,但数据有很重要不能丢失,可执行下面命令生成aof文件
# redis-cli
127.0.0.1:6379> BGREWRITEAOF

数据恢复

  1. 先停止redis服务
  2. 将appendonly.aof或dump.rdb文件拷贝到配置文件定义的数据目录下面(注意: 文件名应与配置文件中定义的文件名相一致)
  3. 重启redis服务
  4. 查看验证

相关文章

网友评论

      本文标题:redis 源码安装

      本文链接:https://www.haomeiwen.com/subject/auuxuqtx.html