1. 安装环境说明
- 系统版本:CentOS7.4
- Redis版本:4.0.14
2. 准备工作
Redis的安装其实很简单,这里之所以搞得那么多步奏主要还是为了安装的规范化,为日后的运维提供便利。
为了增强安全性,我们使用普通用户来管理Redis,为了方便升级我们通常会把程序、数据、日志和配置文件分别部署在不同的目录下。
#新建普通用户appadmin
useradd appadmin
passwd appadmin
#创建存放数据及配置文件的目录
mkdir -p /data/redis/{data,conf}
#创建程序目录,并使用软链接连接起来
mkdir /usr/local/redis-4.0.14
ln -s /usr/local/redis-4.0.14/ /usr/local/redis
3. 编译安装Redis
- 下载源码包
cd /usr/local/src
wget http://download.redis.io/releases/redis-4.0.14.tar.gz
- 解压编译安装
tar -xf redis-4.0.14.tar.gz
cd redis-4.0.14
make
make PREFIX=/usr/local/redis-4.0.14 install
到这里,Redis就安装好了。在对应的 /usr/local/redis-4.0.14 目录下会有一个bin的目录,里面有几个可执行文件,下面说明这几个可执行文件。
可执行文件 | 作用 |
---|---|
redis-server | 启动Redis |
redis-cli | Redis命令行客户端 |
redis-benchmark | Rdis基准测试工具 |
redis-check-aof | Redis AOF持久化文件检测和修复工具 |
redis-check-rdb | Redis RDB持久化文件检测和修复工具 |
redis-sentinel | 启动Redis sentinel |
接下来我们直接启动Redis来验证安装的结果。
4. 验证安装结果
下面我们直接使用redis-server命令来启动redis服务端,启动的时候程序会在前台运行,我们需要使用一个新的终端来连接过去。
#启动服务端
/usr/local/redis/bin/redis-server
#新开一个窗口用客户端连接过去
/usr/local/redis/bin/redis-cli
使用简单的set和get命令测试下,验证成功
测试成功之后,关闭redis
/usr/local/redis/bin/redis-cli SHUTDOWN
5. 配置redis配置文件并使用配置文件启动Redis
Redis的启动方式有三种:默认配置、运行配置、配置文件启动。上面我们是使用默认配置来启动服务,这样启动的服务只能在前台运行;使用运行配置方式是通过在redis-server命令后面加参数来实现,如:redis-server --port 6380,这种方式缺乏灵活性;下面我们使用配置文件来启动,并且修改一些默认的配置。
在redis的源码目录下有个redis.conf文件,我们把这个文件复制到我们的之前定义好的配置文件所在目录下:
cp /usr/local/src/redis-4.0.14/redis.conf /data/redis/conf/
用vim修改下面的几个参数
#绑定环回地址,只能在本地访问,提高安全性
bind 127.0.0.1
#自定义端口,默认是6379,建议修改
port 29001
#修改为后台运行
daemonize yes
#pid文件的路径
pidfile /data/redis/data/redis_29001.pid
#只使用一个库,redis的多数据库没有什么太大意义
databases 1
#rdb文件的名称
dbfilename dump_29001.rdb
#redis的工作目录,修改为咱们的数据目录的路径
dir /data/redis/data
保存退出之后,我们使用配置文件来启动redis。redis的端口为29001。
/usr/local/redis/bin/redis-server /data/redis/conf/redis.conf
使用redis-cli连接,这里需要指定端口29001.
/usr/local/redis/bin/redis-cli -p 29001
到这里,我们的redis基本上就配置完成了。
漏了一个,这个时候的redis还是用root用户来管理的,我们修改为appadmin用户来进行管理
#关闭刚刚的redis
/usr/local/redis/bin/redis-cli -p 29001 SHUTDOWN
#把redis的数据、配置文件、程序目录的所有者改为appadmin
chown -R appadmin:appadmin /usr/local/redis-4.0.14/
chown -R appadmin:appadmin /data/redis/
#切换为appadmin用户,并启动redis
su - appadmin
/usr/local/redis/bin/redis-server /data/redis/conf/redis.conf
6. 用systemd来管理redis
前面我们已经部署好redis的服务了,服务开机启动、启动和关闭服务都可以用绝对路径来完成。为了更好更方便的管理,我们可以选择使用systemd来对redis进行管理。
- 修改配置文件 redis.conf
#需要修改这个参数
supervised systemd
- 新建service文件
vim /etc/systemd/system/redis_29001.service
##内容开始
[Unit]
Description=Redis_29001
After=network.target
[Service]
User=appadmin
Group=appadmin
Type=forking
PIDFile=/data/redis/data/redis_29001.pid
ExecStart=/usr/local/redis/bin/redis-server /data/redis/conf/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
##内容结束
##systemd来启动redis
systemctl start redis_29001
##加入开机启动
systemctl enable redis_29001
备注:
- 上面说到的Redis的配置参数不建议在生产环境下使用,在生产环境下的话需要考虑更多的事项。包括密码、持久化的方式、禁用命令、是否有主从复制等等。
- 这里的安装说的是单实例的安装,多实例的安装部署实际上也差不多,只要合理安排配置文件和数据文件所在目录就差不多完成了。
- systemd对于管理单个redis还是很方便的,多实例的redis个人还是偏向于用脚本或者绝对路径命令来管理。