linux 部署reid

发布时间 2023-08-14 14:24:59作者: 店小二的酒

Linux安装部署Redis(超级详细)
前言
网上搜索了一筐如何在Linux下安装部署Redis的文章,各种文章混搭在一起勉强安装成功了。自己也记录下,方便后续安装时候有个借鉴之处。

Redis版本 5.0.4
服务器版本 Linux CentOS 7.6 64位
下载Redis
进入官网找到下载地址 https://redis.io/download
image

右键Download按钮,选择复制链接。
进入到Xshell控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令:

1
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
敲入回车键执行后如下图:
image

等待下载完成。

解压并安装Redis
解压

下载完成后需要将压缩文件解压,输入以下命令解压到当前目录

1
tar -zvxf redis-5.0.7.tar.gz
解压后在根目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-5.0.7.tar.gz文件和 redis-5.0.7的目录。
image

移动redis目录

一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。

mv /root/redis-5.0.7 /usr/local/redis
cd 到/usr/local目录下输入ls命令可以查询到当前目录已经多了一个redis子目录,同时/root目录下已经没有redis-5.0.7文件夹
image

编译

cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。

make
最终运行结果如下:
image

安装

输入以下命令

make PREFIX=/usr/local/redis install
这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,

库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

执行结果如下图:

image

启动redis
根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis

./bin/redis-server& ./redis.conf

image

上面的启动方式是采取后台进程方式,下面是采取显示启动方式(如在配置文件设置了daemonize属性为yes则跟后台进程方式启动其实一样)。

./bin/redis-server ./redis.conf
两种方式区别无非是有无带符号&的区别。 redis-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。

redis.conf配置文件
在目录/usr/local/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。

也可以通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。 如下:

1
2
redis-cli
CONFIG GET *
image

回车确认后会将所有配置项读取出来,如下图

image

这里列举下比较重要的配置项

image

这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。
这样启动后我就可以在外网访问了。

更改方式:

1
vim /usr/local/redis/redis.conf
通过 /daemonize 查找到属性,默认是no,更改为yes即可。 (通过/关键字查找出现多个结果则使用 n字符切换到下一个即可,查找到结果后输入:noh退回到正常模式)

如下图:

image

其他两个属性也是同样方式查找和编辑即可。

查看Redis是否正在运行
1、采取查看进程方式

1
ps -aux | grep redis
结果如下图:

image

2、采取端口监听查看方式

netstat -lanp | grep 6379
结果如下图:

image

redis-cli
redis-cli是连接本地redis服务的一个命令,通过该命令后可以既然怒redis的脚本控制台。如下图

image

输入exit可以退出redis脚本控制台

关闭运行中的Redis服务
输入redis-cli 进入控制台后输入命令shutdown即可关闭运行中的Redis服务了。如下图:
image

远程连接不上问题
如下图,已经开放了Redis服务的ip不为127.0.0.1,理论上远程客户端应该可以连接了,而且云服务器的端口号也在安全组里开放了。

image

后面发现是启动命令的问题,因为我比较偷懒,启动redis我都是直接输入命令
redis-server 或 redis-server& 这两种方式都是直接读取默认的配置文件启动,无非前者是显示启动后者是作为后台应用启动。我其实也很纳闷,因为我修改的就是默认的配置文件啊,我并没有重新生成新的配置文件,但是确实我输入命令 redis-server /usr/local/redis/etc/redis.conf 就是能成功,而且我输入命令redis-server& /usr/local/redis/etc/redis.conf也是远程登录失败。
关于直接输入redis-server不行的问题我还怀疑是不是Linux缓存问题,我重启服务器尝试下。结果还是一样的。。。哎先不纠结了 后续再去找原因吧
全局启动命令: /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
全局使用redis-cli命令需要执行:sudo cp /usr/local/redis/bin/redis-cli /usr/local/bin/

转载地址: https://www.cnblogs.com/AllWjw/p/15771097.html