Centos7下Redis3.2的安装配置与JReid测试
  cRxqtdRpLnsE 2023年11月02日 75 0


环境 Centos7
Redis版本 3.2.0
安装目录 /usr/local/redis/redis-3.2.0

Redis的介绍

参见官网




安装

1 安装gcc与tcl


# yum install gcc tcl 




2 下载3.2.0


# mkdir /usr/local/redis 


# cd /usr/local/redis 


# wget http://download.redis.io/releases/redis-3.2.0.tar.gz




3 解压


# tar -zxvf redis-3.2.0.tar.gz


# mv rredis-3.2.0.tar.gz redis3.2.0


# cd redis3.2.0




4 安装


# make test


安装的时候有可能会报一些小错误,大家看提示即可


安装完成后,如下



Centos7下Redis3.2的安装配置与JReid测试_Redis3.2




src目录下有redis-server,redis-cli等命令




配置成服务

5配置成服务


Redis 的启动脚本为:/usr/local/redis/redis-3.2.0/utils/redis_init_script 


将启动脚本复制到/etc/init.d/redis目录下,并命名为redis: 


# cp /usr/local/redis/redis-3.2.0/utils/redis_init_script /etc/init.d/redis


///


这里说一个题外话,linux有个/etc/init.d文件夹还有一个/etc/rc.d/init.d文件夹


两个有什么区别呢?


Centos7下Redis3.2的安装配置与JReid测试_Redis3.2_02





/etc/init.d是/etc/rc.d/init.d的一个软连接


那么什么是软连接




ln 3.txt 4


把3.txt复制一份为4


但是修改3.txt后,在4上能看到变化


修改4后在3.txt上也能看到变化


但是删除了两个中的一个后,另一个并不会被删除。


ln 3.txt 4 叫硬连接




ln -s 3.txt 5叫软连接


上面的s不是soft,是symboilc


就是为3.txt新建一个叫5的快捷方式


那么删除了5,3.txt还是OK的


不过要是删除了3.txt,那么5就不能用了。


///


当然redis_init_script我们还得更改一下redis_init_script


这么吧 我把我更改后的贴出来,大家自己对照redis_init_script


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


REDISPORT=6379
EXEC=/usr/local/redis/redis-3.2.0/src/redis-server
CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli


PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/redis-3.2.0/conf/${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)  REDISPORT 端口保持 6379 不变;(注意,端口名将与下面的配置文件名有关) 


(2)  EXEC=/usr/local/bin/redis-server 改为 EXEC=/usr/local/redis/redis-3.2.0/src/redis-server 


(3)  CLIEXEC=/usr/local/bin/redis-cli 改为 CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli 


(4)  配置文件设置: 


创建 redis 配置文件目录 


我们知道,直接运行redis-3.2.0/src/redis-server是可以的,但是我们一般都给它增加一个配置文件


# mkdir /usr/local/redis/conf 


复制 redis 配置文件/usr/local/redis/redis-3.2.0/redis.conf 到/usr/local/redis/conf 目录并按端口


号重命名为 6379.conf 


# cp /usr/local/redis/redis-3.2.0/redis.conf /usr/local/redis/redis-3.2.0/conf/6379.conf 


做了以上准备后,再对 CONF 属性作如下调整: 


CONF="/etc/redis/${REDISPORT}.conf" 改为 CONF="/usr/local/redis/redis-3.2.0/conf/${REDISPORT}.conf" 


(5)  更改 redis 开启的命令,以后台运行的方式执行: 


$EXEC $CONF &    #“&”作用是将服务转到后面运行 





在/etc/systemd/system下写服务文件


# cd /etc/systemd/system
# vi redis_6379.service

[Unit]
Description=Redis on port 6379
[Service]
Type=forking
ExecStart=/etc/init.d/redis start
ExecStop=/etc/init.d/redis stop
[Install]
WantedBy=multi-user.target




开启服务


systemctl start  redis_6379.service




使用java远程测试

代码我就不贴了,网上有一大堆


不过就刚才的配置来说,我们远程java连接铁定出问题


大概会报这两个错误


Could not get a resource from the pool, Connection refused: connect


DENIED Redis is running in protected mode because protected mode is enabled…


问题在于,默认的conf文件绑定了本机ip,咱们得注释掉


第二,远程访问的加上密码,我们还得在conf里设置(具体怎么设密码,自己百度吧)



参考资料

吴水成 Dubbo视频教程 redis的安装与使用




【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  Gmus5gIMInPU   2023年11月13日   66   0   0 其他Centos7
  V8pJJzS5Z7xm   2023年11月13日   33   0   0 Centos7
cRxqtdRpLnsE