并发(一)之Redis:单机环境的安装(仅仅用于学习测试)
准备工作
-
第一步,虚拟机
为了后面的测试方便,这里一起准备4台虚拟机,本文只用到其中的一台,虚拟机的搭建可参考:https://lupf.cn/articles/2020/04/04/1586001434581.html -
第二步,关闭防火墙
// 上面的教程默认使用的CentOS 7,默认防火墙是firewalld,以下是关闭方式 systemctl stop firewalld.service systemctl disable firewalld.service systemctl mask firewalld.service
-
第三步,下载安装基础的软件
# 安装wget 和 vim yum install -y wget vim # 安装gcc yum install -y gcc-c++
-
第四步,安装tcl
cd /usr/local/src wget http://downloads.sourceforge.net/tcl/tcl8.6.10-src.tar.gz tar -zxvf tcl8.6.10-src.tar.gz mv tcl8.6.10 /usr/local/ cd /usr/local/tcl8.6.10/unix/ // 如果不安装gcc 这里会编译失败,错误日志也会提示需要安装gcc相关的软件 ./configure make && make install // 等待.... 大约需要好几分钟
-
下载Redis版本官方各个版本下载页面: http://download.redis.io/releases/ 可以选择你想要的版本,这里下载4.0.1
cd /usr/local/src wget http://download.redis.io/releases/redis-4.0.1.tar.gz
安装、配置Redis
-
解压、编译、安装
cd /usr/local/src tar -zxvf redis-4.0.1.tar.gz mv redis-4.0.1 /usr/local/ cd /usr/local/redis-4.0.1/ make && make test && make install // 等待.... 大约需要好几分钟
-
配置redis
// 进入到redis的解压路径 cd /usr/local/redis-4.0.1/utils // 将redis_init_script配置拷贝到/etc/init.d/下 cp redis_init_script /etc/init.d/ cd /etc/init.d/ // 重命名redis_init_script为redis_6379 6379为redis要监听的端口 mv redis_init_script redis_6379 // 查看是否成功 ls redis_*
修改redis_6379vim redis_6379 // 在配置文件的最上面添加一下两行注释,一定要加,不设置会影响配置开启自启 # chkconfig: 2345 90 10 # # description: Redis Start and Stop // 修改端口 这里就使用的是默认的6379 如果需要使用别的端口,可以在这里修改 REDISPORT=6379
-
整理redis.conf
// 创建用于保存持久化数据和log的文件夹 mkdir -p /var/redis/6379/logs mkdir -p /var/redis/6379/data // 将redis.conf 拷贝至/etc/redis mkdir -p /etc/redis // 拷贝后的名称和段端口一致,如下的6379.conf cp /usr/local/redis-4.0.1/redis.conf /etc/redis/6379.conf
-
配置6379.conf
vim /etc/redis/6379.conf // 修改一下的配置 // 1. 以守护进程的方式运行 daemonize yes // 2. 设置redis监听的端口 port 6379 // 3. 设置redis的pid文件位置,注意后面的端口 pidfile /var/run/redis_6379.pid // 4. 日志文件保存的路径 和上面的路径保持一致 logfile /var/redis/6379/logs/redis.log // 5. 持久化文件保存的路径 dir /var/redis/6379/data/
-
启动服务
cd /etc/init.d chmod 777 redis_6379 ./redis_6379 start
-
设置开机自启
chkconfig redis_6379 on
-
连接测试
// 测试服务是否启动 redis-cli ping // 连接服务端 redis-cli // redis-cli -h 127.0.0.1 -p 6379 -a 密码 去连接一个远端的库 // 基础操作 set a 1 get a // 能正常插入值和获取值,说明部署已经正常了 // 通过Ctrl+c退出客户端 // 通过shutdown 关闭一个redis进程 redis-cli shutdown
基于Docker的安装
对于这种涉及到核心数据的软件,如redis、mysql等,个人是不太建议使用Docker进行安装;但是对于服务(如一个java服务)来说,个人是比较强烈推荐使用Docker的;But......,有时候可能只是为了测试某一项功能,比如说redis出了个新版本,上了个新功能,想玩一下,如果用上面的这种方式去安装部署的话,就太麻烦点了,一顿操下来,可能2小时就没了;用Docker去装的话,就很easy了,一行指令就可以部署一个任意版本的redis,而且,还不会污染当前机器的环境;
- Docker安装 可参考CentOS 7下安装Docker及基础操作:https://lupf.cn/articles/2019/11/23/1574503815568.html
- 运行Redis
// 安装最新版本 docker run --name some-redis -d redis // 安装指定版本 docker run --name some-redis -d redis:4.0.1 // 如果本机已经安装了redis且监听了6379,可以更换其他端口,将宿主机9736映射到容器的6379 docker run -p 9736:6379 --name some-redis -d redis:4.0.1 // 如果自定义配置文件 或者持久化数据到宿主机 // -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf 表示用宿主器/myredis/conf/redis.conf的配置去启动 // -v /docker/host/dir:/data 表示将持久化文件保存到宿主机的/docker/host/dir 目录下 docker run -p 9736:6379 --name some-redis -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /docker/host/dir:/data -d redis:4.0.1
到此,一个单机版的redis安装即完成