CentOs服务器上安装单机redis和设置开机自启动

CentOs服务器上安装单机redis和设置开机自启动
1.安装 C 语言需要的 GCC 环境
yum install -y gcc-c++
yum install -y wget
2、官网下载Redis
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
3、解压 tar -zxvf redis-5.0.5.tar.gz
4、编译 Redis 源码,进入 redis-5.0.5 目录,执行编译命令
cd redis-5.0.5/src
make
5、安装 Redis ,需要通过 PREFIX 指定安装路径
mkdir /opt/redis -p 在opt下创建redis目录
make install PREFIX=/opt/redis 注意:切换到redis-5.0.5下执行该命令
6、启动redis守护进程:拷贝 redis-5.0.5/redis.conf 配置文件到 Redis 安装目录的 bin 目录 cp redis.conf /opt/redis/bin/
7、修改 vi redis.conf

#此时redis将一直运行,除非手动kill该进程(开启守护进程)。
daemonize yes
#默认绑定的是回环地址,默认不能被其他机器访问 将‘bind 127.0.0.1’注释掉
#bind 127.0.0.1
#是否开启保护模式,由yes该为no
protected-mode no
8、启动服务 ./redis-server redis.conf
9、关闭服务 ./redis-cli shutdown
10、Redis命令行客户端
命令格式
./redis-cli -h 127.0.0.1 -p 6379
-h:redis服务器的ip地址
-p:redis实例的端口号
11、命令说明

redis-server :启动 redis 服务
redis-cli :进入 redis 命令客户端
redis-benchmark : 性能测试的工具
redis-check-aof : aof 文件进行检查的工具
redis-check-dump : rdb 文件进行检查的工具
redis-sentinel : 启动哨兵监控服务

进入客户端命令 ./redis-cli -h127.0.0.1 -p6379 ,进入之后
执行 config get requirepass查看默认密码
config set requirepass yourpassword 设置密码

放开防火墙监听的6379
firewall-cmd --zone=public --add-port=6379/tcp --permanent
systemctl restart firewalld.service #重启防火墙生效

12、设置开机启动
13、在/etc新建redis文件夹
mkdir /etc/redis , 并且把 /opt/redis.conf文件复制到 /etc/redis/6379.conf
(6379.conf是取的文件名称,启动脚本里面的变量会读取这个名称,所以要是redis的端口号改了,这里也要修改)
cp /opt/redis/bin/redis.conf /etc/redis/6379.conf
14、复制redis解压源码中的redis_init_script到/etc/init.d/redis文件夹
cp /opt/redis-5.0.5/utils/redis_init_script /etc/init.d/redis
15、修改启动脚本
vi /etc/init.d/redis
在/etc/init.d/redis文件的头部添加下面两行注释代码,也就是在文件中#!/bin/sh的下方添加在(必须带着注释)

#chkconfig: 2345 10 90

#description: Start and Stop redis

16、同时修改参数–指定redis的安装目录
REDISPORT=6379
EXEC=/opt/redis/redis-server
CLIEXEC=/opt/redis/redis-cli
PIDFILE=/var/run/redis_ R E D I S P O R T . p i d C O N F = " / o p t / r e d i s / {REDISPORT}.pid CONF="/opt/redis/ REDISPORT.pidCONF="/opt/redis/{REDISPORT}.conf"
17、启动redis
打开redis命令:service redis start
关闭redis命令:service redis stop
设为开机启动:chkconfig redis on
设为开机关闭:chkconfig redis off
17. redis报错
java.io.IOException: 远程主机强迫关闭了一个现有的连接
归根结底,是Redis配置conf文件(在Linux服务器(如果Windows跑的redis就在Windows找)安装redis的路径去找)没有配置正确,在130行左右(可以使用ctr+F搜索 tcp-keepalive),将它改成1-50左右的数字,比如改成tcp-keepalive,之前是0或者300貌似,改成小一点的数字就行了,原理百度或者根据配置文件的注释英文翻译一下,记得改完重启Redis.

忒别注意:springboot配置redis超时配置时间 spring.redis.lettuce.shutdown-timeout=100

大于Redis服务器配置的 tcp-keepalive 存活时间(比如60)就行,你想吧,超时100>60符合正常逻辑,如果超时关闭时长<存活时长(tcp-keepalive),就相当于你追女生,追到要答应了,在答应前你放弃了,那么竹篮打水一场空,给你一个 远程主机强迫关闭了一个现有的连接 的宿命哈哈哈

我的springboot版本是2.1,Redis是5,貌似Redis3.2.1开始默认60,所以建议改成1-20之间就不那么卡或者报错

  # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
  redis:
    # Redis服务器地址
    host: 192.168.xxx.xxx
    # Redis服务器端口号
    port: 6379
    # 使用的数据库索引,默认是0
    database: 0
    # 连接超时时间
    timeout: 50000
    # 设置密码
    password: xxxxxx
    lettuce:
      pool:
        # 最大阻塞等待时间,负数表示没有限制
        max-wait: -1
        # 连接池中的最大空闲连接
        max-idle: 5
        # 连接池中的最小空闲连接
        min-idle: 0
        # 连接池中最大连接数,负数表示没有限制
        max-active: 20

你可能感兴趣的:(组件安装,java)