redis-00 redis安装、启动、配置和使用

[toc]

一、redis的安装

1.下载

官网找到下载地址 redis官网
到xshell控制台黏贴 wget http://download.redis.io/releases/redis-6.0.8.tar.gz

2.解压
 tar -xzvf redis-6.0.8.tar.gz           #解压 
 mv redis-6.0.8 /usr/local/redis     #移动
3.编译
cd /usr/local/redis              
make

若编译出错,可能gcc版本太多,官网查看此版本需要gcc>5.3
gcc升级到gcc 9.3

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#下面 scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本
      scl enable devtoolset-9 bash
 #要长期使用gcc 9.3的话
      echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile 
4.安装
make PREFIX=/usr/local/redis install
上述指令PREFIX 指定了redis必须存放在/usr/local/redis目录
若make install不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录,其他的资源文件会存放在usr/local/share目录。
 这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

二、redis三种启动方式说明

(一)直接启动

进入redis根目录,执行命令:

nohup redis-server &      #加上‘&’号使redis以后台程序方式运行

nohup和&说明

  1. nohup
  • 用途:不挂断地运行命令
  • 语法:nohup Command [ Arg … ] [ & ]
  1. &
  • 用途:在后台运行
(二)通过指定配置文件启动

可以为redis服务启动指定配置文件,例如配置为/usr/local/redis/redis.conf
进入redis根目录,输入命令:

cd /usr/local/redis/bin
./redis-server /usr/local/redis/redis.conf

说明:后续如果更改了端口,使用“redis-cli”客户端连接时,也需要指定端口,例如:
redis-cli -p 6380

(三)使用redis启动脚本设置开机自启动
1.linux自启动文件说明

1. 自启动相关文件或文件夹

  • /etc/init.d/
  • /etc/rc.d/init.d/
  • /etc/rc.d/
  • /etc/rc.local

2. /etc/init.d 的简单介绍

  • 系统初始化以及用户登录系统过程,会调用/ect/init.d目录下的脚本
  • init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本。
  • 用service命令可执行init.d目录中相应服务的脚本。例如 执行命令“service resin start”,可启动/etc/init.d/resin脚本。
  • /etc/init.d是指向/etc/rc.d/init.d的软连接。

3. /etc/rc.d 的简单介绍

  • linux以rpm包安装时设定的一些服务的启动脚本

4. /etc/rc.d/init.d 的简单介绍

  • /etc/rc.d/init.d 目录下的脚本就类似与windows中的注册表,在系统启动的时候执行

5. /etc/rc.local 的简单介绍

  • /etc/rc.local是/etc/rc.d/rc.local的软连接
  • /etc/rc.d/rc.local 用于添加开机启动命令

redhat的启动方式和执行次序是:

  • 加载内核
  • 执行init程序
  • /etc/rc.d/rc.sysinit # 由init执行的第一个脚本
  • /etc/rc.d/rc RUNLEVEL为缺省的运行模式
  • /etc/rc.d/rc.local
  • /sbin/mingetty # 等待用户登录
2. redis开机自启动设置方式一:修改/etc/rc.local内容
  • (1)移动配置文件
cd /usr/local/redis
mkdir etc
mv redis.conf /usr/local/redis/etc
  • (2)设置redis为后台启动 (和带&后台启动进程方式启动效果一样)
vim /usr/local/redis/etc/redis.conf   #将daemonize on 改成daemonize yes
  • (3)将redis加入到开机自启动
vim /etc/rc.local   
#在里面添加下面内容:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf   #意思是开机调用开启redis的命令
  • (4)开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 
  • 将redis-cli,redis-server拷贝到/usr/local/bin目录下(或者建立软连接),让redis-cli指令可以在任意目录下直接使用
#拷贝
cp /usr/local/redis/bin/redis-server /usr/local/bin
cp /usr/local/redis/bin/redis-cli /usr/local/bin
#建立软连接     ln -s 源文件  目标文件
ln -s /usr/local/redis/bin/redis-server /usr/local/bin/redis-server
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli
3. redis开机自启动设置方式二:将redis启动脚本复制到/etc/init.d目录下

redis的启动脚本 redis_init_script 位于位于Redis的 /utils/ 目录下。其内容如下:

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
# Provides:     redis_6379
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFO

# redis服务器监听的端口
REDISPORT=6379
# 服务端所处位置
EXEC=/usr/local/bin/redis-server
# 客户端位置
CLIEXEC=/usr/local/bin/redis-cli

# redis的PID文件位置,需要修改
PIDFILE=/var/run/redis_${REDISPORT}.pid
# redis的配置文件位置,需将${REDISPORT}修改为文件名
CONF="/etc/redis/${REDISPORT}.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
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac
  • (1)移动redis配置文件
cd /usr/local/redis
mkdir etc
mv redis.conf /usr/local/redis/etc
  • (2)设置redis为后台启动 (和带&后台启动进程方式启动效果一样)
vim /usr/local/redis/etc/redis.conf   #将daemonize on 改成daemonize yes
  • (3)移动redis自启动脚本到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd
  • (4) 设置为开机自启动,直接配置开启自启动 chkconfig redisd on 发现错误: service redisd does not support chkconfig 的报错,解决办法如下
vim /etc/init.d/redisd    
#在启动脚本开头添加如下注释
#!/bin/sh
# chkconfig: 2345 90 10
# description:  Redis is a persistent key-value database

注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
再设置即可:

#设置为开机自启动服务器
chkconfig redisd on
#打开服务
service redisd start
#关闭服务
service redisd stop

三、redis的配置

配置项名称 配置项值范围 说明
daemonize yes, no yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port 指定 Redis 监听端口,默认端口为 6379

四、常用命令

1.启动redis
  • 采用查看进程方式
    ps -aux | grep redis
  • 采用端口监听查看方式
    netstat -lanp | grep 6379
2.查看redis是否正在运行
  • 采用查看进程方式
    ps -aux | grep redis
  • 采用端口监听查看方式
    netstat -lanp | grep 6379

参考

  1. https://www.cnblogs.com/happywish/p/10944253.html
  2. https://www.cnblogs.com/kelelipeng/p/13088319.html

你可能感兴趣的:(redis-00 redis安装、启动、配置和使用)