linux安装部署 redis详细教程
背景
- Redis版本 6.0.1
- 服务器版本 Linux CentOS 7.6 64位
一、下载
进入官网找到下载地址 https://redis.io/download
进入到Xshell控制台,进入usr/,输入wget,命令如下:
[root@bda usr]# cd usr/
[root@bda usr]# wget https://download.redis.io/releases/redis-6.0.10.tar.gz
二、解压
[root@bda usr]# tar -zvxf redis-6.0.10.tar.gz
1.解压后在根目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-6.0.10.tar.gz文件和 redis-6.0.10的目录。
2.一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-6.0.10文件夹更改目录,同时更改文件夹名称为redis。
[root@bda usr]# mv /usr/redis-6.0.10 /usr/local/redis
[root@bda usr]# cd local/
三、编译
cd到redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。
[root@bda local]# cd redis/
[root@bda local]# make
如果输入make命令出现上图所示问题时,可能是gcc需要升级或安装:
1、安装gcc套装:
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
2、升级gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
3、设置永久升级:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
4、重新make:
四、安装
[root@bda redis]# make PREFIX=/usr/local/redis install
这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载
五、启动
根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis
[root@bda redis]# ./bin/redis-server ./redis.conf
六、redis.conf配置文件
在目录/usr/local/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。
也可以通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。 如下:
[root@bda redis]# redis-cli
如出现 bash: redis-cli: 未找到命令
解决方法:
[root@localhost redis]# make install
127.0.0.1:6379> CONFIG GET *
修改配置文件:这里我要将daemonize改为yes,同时也将#bind 127.0.0.1注释,将protected-mode设置为no。
这样启动后我就可以在外网访问了。
[root@bda redis]# vim /usr/local/redis/redis.conf
使用命令 /requirepass 快速查找到 # requirepass foobared 然后去掉注释,这个foobared改为自己的密码。也可以不加密码。
开机启动配置
echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local
查看Redis是否正在运行,命令如下:
[root@bda redis]# ps -aux | grep redis
root 112410 0.0 0.0 162436 8140 pts/1 Sl 18:44 0:00 ./bin/redis-server *:6379
root 112467 0.0 0.0 112828 980 pts/1 R+ 18:52 0:00 grep --color=auto redis
采取端口监听查看方式,命令如下:
[root@bda redis]# netstat -lanp | grep 6379
如果出现bash: netstat: 未找到命令
[root@localhost ~]# yum -y install net-tools <!--安装依赖程序-->
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=========================================================================================
Package 架构 版本 源 大小
=========================================================================================
正在安装:
net-tools x86_64 2.0-0.25.20131004git.el7 base 306 k
事务概要
=========================================================================================
安装 1 软件包
总下载量:306 k
安装大小:917 k
Downloading packages:
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm | 306 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
验证中 : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
已安装:
net-tools.x86_64 0:2.0-0.25.20131004git.el7
完毕!
依赖程序安装完成之后再次尝试失败的命令:
[root@bda redis]# netstat -lanp | grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 113700/./bin/redis-
tcp 0 0 192.168.1.206:6379 192.168.1.110:51409 ESTABLISHED 113700/./bin/redis-
tcp 0 0 192.168.1.206:6379 192.168.1.110:51410 ESTABLISHED 113700/./bin/redis-
tcp6 0 0 :::6379 :::* LISTEN 113700/./bin/redis-
通过redis连接工具进行测试,测试连接成功。
四、常用命令
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf 启动客户端
/usr/local/redis/bin/redis-cli -a 密码 shutdown 2>/dev/null #关闭客户端
参考文献:https://blog.csdn.net/qq_44895681/article/details/105489206
https://www.cnblogs.com/hunanzp/p/12304622.html
https://www.cnblogs.com/peanut-zh/p/14049750.html
https://www.cnblogs.com/cjycjy/p/14147860.html