当前位置:   article > 正文

Redis-安装、配置和修改配置文件、以及在Ubuntu和CentOS上设置Redis服务的开机启动和防火墙设置,以及客户端连接。_ubuntu redis

ubuntu redis

目录

1. Redis简介

2. 离线安装

2.1 准备工作

2.2 解压、安装

2.3 修改配置文件

2.4 redis服务与关闭

2.5 redis服务的开机启动

2.5.1 Ubuntu上的配置

2.5.2 centos上的配置

3. 在线安装

4. 设置防火墙

5. 客户端连接


1. Redis简介

Redis 是完全开源免费的,遵守BSD协议,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

特点:
支持数据的持久化,可以将内存中的数据保存到硬盘,在重启后再次加载使用。
支持的数据结构丰富,String,list,set, zset, hash等等。
支持数据备份,master-slave模式进行数据备份。

优势:
性能高,Redis能读的速度是110000次/s,写的速度是81000次/s。
数据类型丰富
原子性,redis中所有操作都是原子的,并且多个操作也支持原子性
丰富的特性,如通知,key过期等。

2. 离线安装

说明:该例的示例步骤基于ubuntu16版本。

2.1 准备工作

在离线安装redis前先安装两个软件,gcc和make,为方便安装可以先将用户切换到root下(使用 su 命令,需要输入root的密码)
1)安装gcc

apt-get install gcc

2)安装make

apt-get 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

注: wget简介
wget是linux下常用的文件下载工具,wget支持http,https,ftp等协议,支持使用http代理。
wget有很多参数,常用的有一下几个:
-V --version 显示wget的版本
-o --output-file=file 将信息写入file,如果不提供默认以下载的文件作为文件名。
-v --verbose 详细输出,默认值
-t --tries=number 设置重试次数,0表示无限制

2.2 解压、安装

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目录下执行)

  1. #编译
  2. make
  3. #安装
  4. 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服务器程序

在执行编译后,安装之前,可以选择性的执行make test,我们下载的一般都是release版本,该步骤是可选的(该步骤运行所有的单元测试代码,需要较长的时间),如果执行时报:You need tcl 8.5 or newer in order to run the Redis test,则需要先安装tcl,可以使用:
wget https://nchc.dl.sourceforge.net/project/tcl/Tcl/8.6.8/tcl8.6.8-src.tar.gz执行安装。

2.3 修改配置文件

 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设置访问密码
  • daemonize yes 开启守护进程模式。在该模式下,redis会在后台运行,并将pid写入到redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
  • requirepass 123456 设置访问密码,如果protected-mode设置为yes,则必须设置密码
  • pidfile /var/run/redis_6379.pid,如果使用默认端口则保持默认值即可。
  • logfile /usr/local/redis/redis-5.0.3/redis_log.log 设置redis日志
  • dir redis位置,默认为./ 当前目录,保持默认值。

2.4 redis服务与关闭

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

redis-server  /usr/local/redis/redis-5.0.3/redis.conf

注意:为了能正常读取redis.conf配置文件,需要切换到root用户,或通过sudo命令启动。

启动成功后可以通过如下命令查看:

ps -aux|grep redis

 

2)关闭
可以使用如下命令进行关闭

  1. redis-cli shutdown #未设置密码,直接关闭
  2. redis-cli -a 密码 shutdown #设置密码,在关闭时需要提供密码

 

2.5 redis服务的开机启动

2.5.1 Ubuntu上的配置

1)在设置开机启动之前先确定是否安装了sysv-rc-conf

dpkg -l | grep sysv-rc-conf

如果没有安装则先安装该软件。

注:sysv-rc-conf 是功能强大的服务管理软件

apt-get install sysv-rc-conf

安装完成后可以通过如下命令来启动该程序

sysv-rc-conf

2)将启动脚本redis_init_script(位于安装目录下的utils目录下)复制到/etc/init.d下,重命名为redis-5.0.3

  1. #将启动脚本拷贝到init.d目录
  2. cp /usr/local/redis/redis-5.0.3/utils/redis_init_script /etc/init.d/
  3. #进入init.d目录,重命名
  4. cd /etc/init.d
  5. mv redis_init_script redis-5.0.3

注: init.d目录即存放安装的服务的启动脚本

3)使用vim编辑启动脚本

  1. #进入/etc/init.d
  2. cd /etc/init.d
  3. vim redis-5.0.3
  4. # 将CONF修改为安装目录下的redis.conf
  5. REDISPORT=6379 #redis端口
  6. EXEC=/usr/local/bin/redis-server #redis server目录
  7. CLIEXEC=/usr/local/bin/redis-cli #redis cli目录
  8. PIDFILE=/var/run/redis_${REDISPORT}.pid #PID文件目录
  9. #CONF="/etc/redis/${REDISPORT}.conf" #启动配置文件目录
  10. CONF=/usr/local/redis/redis-5.0.3/redis.conf

4)使用sysv-rc-conf设置开机启动
使用方法:
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。其中,“X”表示开启该服务。

5)如果启用了密码保护,则需要在启动脚本中做一些修改,否则在运行service redis-5.0.3 stop 时会报错。

注: 将 $CLIEXEC -p REDISPORT shutdown 修改为 CLIEXEC -p $REDISPORT -a 密码 shutdown

2.5.2 centos上的配置

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

  1. [root@localhost redis-5.0.3]# ls
  2. 00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
  3. BUGS deps MANIFESTO runtest sentinel.conf utils
  4. CONTRIBUTING INSTALL README.md runtest-cluster src
  5. [root@localhost redis-5.0.3]#

2) 进入utils目录,并指向install_server.sh脚本

  1. [root@localhost utils]# ./install_server.sh
  2. Welcome to the redis service installer
  3. This script will help you easily set up a running redis server
  4. Please select the redis port for this instance: [6379]
  5. Selecting default: 6379
  6. Please select the redis config file name [/etc/redis/6379.conf] /usr/local/redis/redis-5.0.3/redis.conf
  7. Please select the redis log file name [/var/log/redis_6379.log]
  8. Selected default - /var/log/redis_6379.log
  9. Please select the data directory for this instance [/var/lib/redis/6379]
  10. Selected default - /var/lib/redis/6379
  11. Please select the redis executable path [/usr/local/bin/redis-server]
  12. Selected config:
  13. Port : 6379
  14. Config file : /usr/local/redis/redis-5.0.3/redis.conf
  15. Log file : /var/log/redis_6379.log
  16. Data dir : /var/lib/redis/6379
  17. Executable : /usr/local/bin/redis-server
  18. Cli Executable : /usr/local/bin/redis-cli
  19. Is this ok? Then press ENTER to go on or Ctrl-C to abort.
  20. Copied /tmp/6379.conf => /etc/init.d/redis_6379
  21. Installing service...
  22. Successfully added to chkconfig!
  23. Successfully added to runlevels 345!
  24. /var/run/redis_6379.pid exists, process is already running or crashed
  25. Installation successful!

该命令是交互式的,需要交互式的输入port, redis.conf,log文件等。

3)在/etc/init.d/目录下可以看到redis_6379这个自启动脚本

  1. [root@localhost utils]# cd /etc/init.d
  2. [root@localhost init.d]# ls
  3. functions netconsole network README redis_6379 tomcat
  4. [root@localhost init.d]#
  5. ./usr/local/redis/redis-5

4) chkconfig --list命令查看

  1. [root@localhost init.d]# chkconfig --list
  2. 注:该输出结果只显示 SysV 服务,并不包含
  3. 原生 systemd 服务。SysV 配置数据
  4. 可能被原生 systemd 配置覆盖。
  5. 要列出 systemd 服务,请执行 'systemctl list-unit-files'
  6. 查看在具体 target 启用的服务请执行
  7. 'systemctl list-dependencies [target]'
  8. netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
  9. network 0:关 1:关 2:开 3:开 4:开 5:开 6:关
  10. redis_6379 0:关 1:关 2:开 3:开 4:开 5:开 6:关
  11. tomcat 0:关 1:关 2:开 3:开 4:开 5:开 6:开
  12. [root@localhost init.d]#

可以看到redis程序在2,3,4,5这四个等级下是开机自启动的

3. 在线安装

在线安装比较简单,运行下面命令即可

apt-get install redis-server

查看安装的位置

whereis redis

修改redis.conf配置文件(/etc/redis/redis.conf),取消只能本地访问的限制即可。

查看安装的redis版本

redis-server -v

注:目前通过apt-get在线安装的redis-server版本为3.0.6,建议使用离线安装的方式安装 5.0.3版本。

在centos中使用

yum install redis

进行在线安装,如果现实未找到源,则可以先安装epel软件库,如果在执行安装

  1. yum install -y epel-release
  2. ....
  3. yum install redis

目前centos中在线安装的redis版本比较低,版本号大约是3.2.12

自启:
在/etc/init.d 目录下创建sh脚本如下:

  1. ##!/bin/bash
  2. # chkconfig: 2345 10 90
  3. # description: Start and Stop redis
  4. PATH=/usr/local/bin:/sbin:/usr/bin:/bin
  5. REDISPORT=6379 #实际环境而定
  6. EXEC=/bin/redis-server #实际环境而定
  7. REDIS_CLI=/bin/redis-cli #实际环境而定
  8. PIDFILE=/var/run/redis.pid
  9. CONF="/etc/redis.conf" #实际环境而定
  10. case "$1" in
  11. start)
  12. if [ -f $PIDFILE ]
  13. then
  14. echo "$PIDFILE exists, process is already running or crashed."
  15. else
  16. echo "Starting Redis server..."
  17. $EXEC $CONF
  18. fi
  19. if [ "$?"="0" ]
  20. then
  21. echo "Redis is running..."
  22. fi
  23. ;;
  24. stop)
  25. if [ ! -f $PIDFILE ]
  26. then
  27. echo "$PIDFILE exists, process is not running."
  28. else
  29. PID=$(cat $PIDFILE)
  30. echo "Stopping..."
  31. $REDIS_CLI -p $REDISPORT SHUTDOWN
  32. while [ -x $PIDFILE ]
  33. do
  34. echo "Waiting for Redis to shutdown..."
  35. sleep 1
  36. done
  37. echo "Redis stopped"
  38. fi
  39. ;;
  40. restart|force-reload)
  41. ${0} stop
  42. ${0} start
  43. ;;
  44. *)
  45. echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
  46. exit 1
  47. esac

设置权限:

  1. chmod +x /etc/init.d/redis
  2. # 尝试启动或停止redis
  3. service redis start
  4. service redis stop
  5. # 开启服务自启动
  6. chkconfig redis on

4. 设置防火墙

如果服务器开启了防火墙,则需要将redis使用的端口号加入防火墙。

ufw allow 6379

注:
开启防火墙 ufw enable
禁用防火墙 ufw disable

5. 客户端连接

1)redis-cli 连接

redis-cli -h 127.0.0.1 -p 6379  -a 密码   --raw

注:如果没有设置密码可以不带-a参数,--raw参数用于解决中文显示乱码问题。

2) 使用RedisDesktopManager

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/851114
推荐阅读
相关标签
  

闽ICP备14008679号