Linux 安装Redis并配置服务

前言

记录一下日常开发过程中有关Redis安装方面的内容
版本信息:
	 - Redis-5.0.5
	 - CentOS 7.6
PS:如果使用的 docker 管理应用,且redis安装在宿主机上,此时需要注意 docker 中的应用访问宿主机的方式,否则可能出现应用无法连接上Redis的情况,可以出现以下报错:
org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection;nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused (Connection refused)

安装编译环境

安装gcc编译环境
	yum install gcc-c++

下载Redis

进入Redis官方下载网站:  https://redis.io/download

在这里插入图片描述
右键Download,复制下载链接
将复制的连接粘贴到Linux命令行中,通过wget命令下载

	wget https://download.redis.io/releases/redis-5.0.5.tar.gz

解压并安装Redis

解压

等待上面步骤下载完成Redis后,通过以下命令将Redis解压到当前目录	
	tar -zvxf redis-5.0.5.tar.gz

解压后,可在当前目录下查看到redis-5.0.5文件夹

移动Redis目录

一般会将Redis放到/usr/local目录下,这里将Redis放到/usr/local/redis
mv /root/redis-5.0.5 /usr/local/redis
以上命令在将redis-5.0.5这个目录移动到/usr/local文件夹下的同时,将redis-5.0.5的文件夹名称更改为redis

编译

移动到文件夹后,需要进入到移动后的文件夹,对Redis进行编译
	cd /usr/local/redis
	make
此时控制台中会输入各种编译信息,等待完成即可

安装

编译完成后,可以开始安装Redis
	make PREFIX=/usr/local/redis install
PS:这里使用了**PREFIX**关键字,这个关键字的作用是用于指定安装后程序存放的位置。
		如果不指定,Linux会将Redis的可执行文件存放到/usr/local/bin目录下,库文件存放到/usr/local/lib目录下,配置文件存放到/usr/local/etc目录下,其他的资源文件存放在usr/local/share目录下。
		指定**PREFIX**关键字有助于管理Redis的文件,也方便后期需要从机器上删除Redis时,通过 rm -rf /usr/local/redis , 删除掉redis这个文件夹后,即可删除Redis。

编辑配置文件redis.conf

  • 注释 bind 属性,该参数用于设定绑定的主机地址,如果需要远程访问,需要将bind属性注释掉 或者 bind *
  • 将 protected-mode 设为 no,保护模式,该属性控制外网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问redis的,如需外网连接rendis服务则需要将此属性改为no。
  • 将 daemonize 设为yes,yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行,设为yes,即为后台启动。
  • 将 port 设定为需要的端口号,该属性用于指定 Redis 监听端口,如果是云服务器,注意要开放该端口的安全组策略。
  • 将 dir 设定为需要的地址,该属性用于指定本地数据库存放目录
  • 设置数据库文件名 dbfilename ,该属性用于指定本地数据库文件名,默认值为 dump.rdb。
  • 设置密码 requirepass ,该属性用于设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭。
  • 设置日志存放路径,logfile “/var/log/redis/redis-server.log”,该属性用于指定Redis的日志文件存放位置。

启动Redis

完成上面的内容后,基本上Redis的配置已经结束了,可以启动Redis了。
	cd /usr/local/redis
	./bin/redis-server ./redis.conf

在redis-server后面跟着配置文件,这样做的目的是让Redis根据这个配置文件启动服务,redis.conf配置文件可以自定义多个,启动时指定某个配置文件启动即可。

查看是否启动成功

	ps aux | grep redis

查看端口监听情况

	netstat -lanp | grep 6379

redis-cli

redis-cli是连接本地redis服务的一个命令,通过该命令后可以进入redis的脚本控制台。如下图:
在这里插入图片描述
输入exit可推出Redis脚本控制台。
在控制台里,也可以设置redis的配置文件属性,通过CONFIG GET *可读取出redis所有的配置

	CONFIG GET *

通过CONFIG SET 属性名 属性值可设置属性。

	CONFIG SET protected-mode no

添加服务

因为我使用的是CentOS 7.6,所以通过systemctl脚本来配置服务,有查到资料说可以通过  systemctl enable redis 这条命令取代脚本启动,不过没有成功,因此还是使用脚本方式。

systemctl脚本说明

	[Unit]
		部分主要是对这个服务的说明,内容包括Description和After,
		Description		用于描述服务,
		After			用于描述服务类别;
	[Service]
		部分是服务的关键,是服务的一些具体运行参数的设置,
		这里:
		Type=forking	是后台运行的形式,
		PIDFile		  为存放PID的文件路径,
		ExecStart		为服务的运行命令,
		ExecReload		为重启命令,
		ExecStop			为停止命令,
		PrivateTmp=True	表示给服务分配独立的临时空间,
		
	
	[Install]
		部分是服务安装的相关设置,可设置为多用户的

创建redis脚本

首先先创建脚本文件
	vim /lib/systemd/system/redis.service

编辑脚本内容

在脚本文件中写入一下内容,根据实际情况更改相关配置
	[Unit]
	Description=redis-server
	After=syslog.target network.target remote-fs.target nss-lookup.target
	
	[Service]
	Type=forking
	PIDFile=/var/run/redis_6379.pid
	ExecStart=/usr/local/redis/bin/redis-server /etc/redis/6379.conf
	ExecReload=/bin/kill -s HUP $MAINPID
	ExecStop=/bin/kill -s QUIT $MAINPID
	PrivateTmp=true
	
	[Install]
	WantedBy=multi-user.target
PS:在脚本中,有 PIDFile 配置项,这个配置项的值需要与/etc/redis/6379.conf配置中的 pidfile 属性相同。
	/etc/redis/6379.conf是自定义的配置文件。

重载系统服务

新增并编辑好脚本文件后,需要重新加载一下系统服务
	systemctl daemon-reload

操作Redis启动,关闭,开机自启

	## 启动Redis
	systemctl start redis.service
	## 关闭Redis
	systemctl stop redis.service
	## 开机自启动
	systemctl enable redis.service
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值