目录
今天与大家分享,Redis安装与配置和在centos虚拟机上配置自启动redis服务操作手册,你的点量,是小编坚持下去的动力。
Redis 是完全开源免费的,遵守BSD协议,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
特点: 支持数据的持久化,可以将内存中的数据保存到硬盘,在重启后再次加载使用。
优势:
redis性能高,因为它是从数据库获取到内存条,加载到缓存。
数据安全,redis中所有操作都是原子的,并且多个操作也支持原子性
原子性:redis在运行时只会执行一个,其他的不会执行,要等这个线程执行完,其他线程才会执行,单线程执行的,保障的redis的安全性,也就是我们说的原子性
在离线安装redis前先安装两个软件,gcc和make
1)安装gcc
yum install gcc
2)安装make
yum install make
关于gcc和make介绍
GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC是Linux下重要的编译工具。 make工具的定义是通过编写的makefile脚本文件描述整个工程的编译、链接规则;通过脚本文件,对于复杂的工程也可以只通过一个命令就完成整个编译过程。类似于java中的maven
3)下载redis5,本例下载到了/home/lise目录下。
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
4)wget下载工具介绍:
显示wget版本号

wget是linux下常用的文件下载工具,wget支持http,https,ftp等协议,支持使用http代理。 wget有很多参数,常用的有一下几个:
1)在/usr/local目录下创建一个redis目录又来放置解压后的redis。
mkdir /usr/local/redis
2)在本例中redis下载在/home/lisen目录,来到该目录执行解压
tar -zxvf redis-5.0.3.tar.gz -C /usr/local/redis
3)编译-安装(在/usr/local/redis/redis-5.0.3目录下执行)
- #编译
- make
-
- #安装
- make install
安装完成时的输出

可以查看编译完成的redis命令文件
ls /usr/local/bin/redis*

编译的文件用处
| 文件 | 作用 |
|---|---|
| /usr/local/bin/redis-benchmark | 性能测试工具 |
| /usr/local/bin/redis-check-aof | 更新日志检查 |
| /usr/local/bin/redis-check-dump | 本地数据文件检查 |
| /usr/local/bin/redis-cli | 命令行操作工具 |
| /usr/local/bin/redis-server | 服务器程序 |
4)修改配置文件
vim /usr/local/redis/redis-5.0.3/redis.conf
#bind 127.0.0.1 改行限制redis只能本机访问,需要注释掉

port 6379 设置redis的访问端口,一般保存为默认值6379即可

protected-mode no 关闭保护模式,如果开启则需要将可以访问redis的机器IP地址配置到bind属性中,同时为redis设置访问密码

注意事项:这里我们可以使用 :/需要查找的内容 进行查找内容
1)启动 安装成功后可以使用redis-server命令进行启动,改命令已经放入/usr/local/bin目录下,且该目录已经放入path环境变量,所以不必进入redis的安装目录也可以执行redis-server命令,在执行时为了使在/usr/local/redis/redis-5.0.3/redis.conf配置文件起效,需要作为启动参数提供。
/usr/local/redis/redis-5.0.3/redis.conf
启动服务命令
redis-server

启动成功后可以通过如下命令查看:
ps -aux|grep redis

2)关闭服务命令
- redis-cli shutdown #未设置密码,直接关闭
- redis-cli -a 密码 shutdown #设置密码,在关闭时需要提供密码

1) 在 usr/local/redis/redis-5.0.3 目录下,可以看到有utils目录

2) 进入utils目录,并指向install_server.sh脚本
- [root@localhost utils]# ./install_server.sh
- Welcome to the redis service installer
- This script will help you easily set up a running redis server
-
- Please select the redis port for this instance: [6379]
- Selecting default: 6379
- Please select the redis config file name [/etc/redis/6379.conf] /usr/local/redis/redis-5.0.3/redis.conf
- Please select the redis log file name [/var/log/redis_6379.log]
- Selected default - /var/log/redis_6379.log
- Please select the data directory for this instance [/var/lib/redis/6379]
- Selected default - /var/lib/redis/6379
- Please select the redis executable path [/usr/local/bin/redis-server]
- Selected config:
- Port : 6379
- Config file : /usr/local/redis/redis-5.0.3/redis.conf
- Log file : /var/log/redis_6379.log
- Data dir : /var/lib/redis/6379
- Executable : /usr/local/bin/redis-server
- Cli Executable : /usr/local/bin/redis-cli
如果出现下面命令,说明redis自启动配置成功
- Is this ok? Then press ENTER to go on or Ctrl-C to abort.
- Copied /tmp/6379.conf => /etc/init.d/redis_6379
- Installing service...
- Successfully added to chkconfig!
- Successfully added to runlevels 345!
- /var/run/redis_6379.pid exists, process is already running or crashed
- Installation successful!

3)在/etc/init.d/目录下可以看到redis_6379这个自启动脚本
- [root@localhost utils]# cd /etc/init.d
- [root@localhost init.d]# ls
- functions netconsole network README redis_6379 tomcat
4) 在init.d目录下 chkconfig --list命令查看
chkconfig --list

在线安装比较简单,运行下面命令即可
yum install redis-server
查看安装的位置
whereis redis
我们可以看见redis安装在 /usr/local/redis

查看安装的redis版本
redis-server -v
我们可以看见,安装版本是redis-5.0.3的

yum install redis
进行在线安装,如果现实未找到源,则可以先安装epel软件库,如果在执行安装
- yum install -y epel-release
-
- ....
- yum install redis
目前centos中在线安装的redis版本比较低,版本号大约是3.2.12
在/etc/init.d 目录下创建sh脚本如下:

- ##!/bin/bash
-
- # chkconfig: 2345 10 90
- # description: Start and Stop redis
-
- PATH=/usr/local/bin:/sbin:/usr/bin:/bin
-
- REDISPORT=6379 #实际环境而定
- EXEC=/bin/redis-server #实际环境而定
- REDIS_CLI=/bin/redis-cli #实际环境而定
-
- PIDFILE=/var/run/redis.pid
- CONF="/etc/redis.conf" #实际环境而定
-
- case "$1" in
- start)
- if [ -f $PIDFILE ]
- then
- echo "$PIDFILE exists, process is already running or crashed."
- else
- echo "Starting Redis server..."
- $EXEC $CONF
- fi
- if [ "$?"="0" ]
- then
- echo "Redis is running..."
- fi
- ;;
- stop)
- if [ ! -f $PIDFILE ]
- then
- echo "$PIDFILE exists, process is not running."
- else
- PID=$(cat $PIDFILE)
- echo "Stopping..."
- $REDIS_CLI -p $REDISPORT SHUTDOWN
- while [ -x $PIDFILE ]
- do
- echo "Waiting for Redis to shutdown..."
- sleep 1
- done
- echo "Redis stopped"
- fi
- ;;
- restart|force-reload)
- ${0} stop
- ${0} start
- ;;
- *)
- echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
- exit 1
- esac
设置权限:
chmod +x /etc/init.d/redis
# 尝试启动或停止redis
- service redis start
- service redis stop
# 开启服务自启动
chkconfig redis on
在防火墙规则中加入6379端口
- #配置防火墙规则
- firewall-cmd --zone=public --add-port=6379/tcp --permanent
- firewall-cmd --reload
-
- #关闭防火墙,不建议使用
- systemctl stop firewalld.service
- systemctl disable firewalld.service