前言
网上搜索了一筐如何在Linux下安装部署Redis的文章,各种文章混搭在一起勉强安装成功了。自己也记录下,方便后续安装时候有个借鉴之处。
虚拟机的版本信息:
Redis版本 5.0.4
服务器版本 Linux CentOS 7.7 64位
下载Redis
进入官网找到下载地址 https://redis.io/download
复制链接
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
解压并安装Redis
解压
下载完成后需要将压缩文件解压,输入以下命令解压到当前目录
tar -zvxf redis-5.0.7.tar.gz
解压后在根目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-5.0.7.tar.gz文件和 redis-5.0.7的目录。
移动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文件夹
编译
cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。
make
最终运行结果如下:
安装
输入以下命令
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。
执行结果如下图:
启动redis
根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis
./bin/redis-server & ./redis.conf
上面的启动方式是采取后台进程方式,下面是采取显示启动方式(如在配置文件设置了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 * 的方式读取所有配置项。 在bin下找到启动命里,并启动如下:
redis-cli
CONFIG GET *
回车确认后会将所有配置项读取出来,如下图
这里列举下比较重要的配置项
这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。
这样启动后我就可以在外网访问了。
更改方式:
先查找需要修改的位置行数
cat redis.conf |grep daemonize-n
打开修改该文件
vim /usr/local/redis/redis.conf
修改该文件刚才定位的位置
输入:n,代表跳转到第n行
:88
其他两个属性也是同样方式查找和编辑即可。
查看Redis是否正在运行
1、采取查看进程方式
ps -aux | grep redis 或者ps -ef | grep redis
2、采取端口监听查看方式
netstat -lanp | grep 6379
看到那个tcp协议没,后面要用
redis-cli
redis-cli是连接本地redis服务的一个命令,通过该命令后可以执行redis的脚本控制台。如下图
输入exit或者ctr+c可以退出redis脚本控制台
关闭运行中的Redis服务
输入redis-cli 进入控制台后输入命令shutdown即可关闭运行中的Redis服务了。如下图:
这样启动就没问题了,我在本地用redis管理工具连接发现不行,紧接着查看防火墙和端口是否开发问题
看firewall的状态
firewall-cmd --state
开放80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080-8085/tcp
查看防火墙的开放的端口
firewall-cmd --permanent --list-ports
重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
还有个条件,你的虚拟机和和你的物理机ping能通的
我测试下,连接可以了