上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧。我看了一眼,是之前发布的《Rabbit安装(单机及集群,阿里云》。我朋友很哈皮地告诉我,我的博客被某个Java平台进行了微信推送。看到许多人阅读,并认同了我的博客,心理还是很开心的。
好了,话题收回来。这次就Redis在实际服务器中的各种安装,进行详细描述。
另外由于内容较多,并不一定能涵盖各个方面,万望见谅。如果存在什么问题,或者有什么需要添加的,请私信或@我。
最后,由于打马赛克太麻烦了。并且我之后可能会开放安装视频,所以有的IP什么的,我并不方便打马赛克。但是希望你们不要做坏事儿哈。
Redis安装简述 简介Redis是一款缓存中间件,其安装分为:
单机
主从赋值
哨兵机制
哨兵集群
分片集群
应用redis通过解压包中的src下的各类程序,直接应用。
常用的程序有:
redis-server
redis-cli
redis-sentinel
安装环境平台:阿里云
ECS实例规格:ecs.t5-lc1m1.small (性能约束实例)
CPU:单核
内存:1G
硬盘:40G
操作系统:CentOS7.6(已经测试CentOS7.3会出现问题)
购买ECS,用于平时测试,学习的话,四点建议:
只需要购买共享型,比较适合平时用得不多,测试也负担不大,偶尔压测。
如果资金允许,直接购买将长时间,比较划算。日后需要也可以提升配置。
阿里云部分地区有优惠(目前有两个地区)
如果想要尝试集群等操作,并且打算购买多个服务器,请一定要在同一个内网内,这样才可以利用内网通信。
防火墙云服务器的防火墙,我依旧将其分为云平台的安全策略与服务器本身的防火墙服务。
而阿里云的官方CentOS7.6镜像,是不开启firewall。可以通过systemctl status firewalld来进行确认。
而云平台的安全策略是需要在安全组内进行设置的。这个部分网上很多资料,就不在此赘述了。
而RabbitMQ需要开放6379端口(默认的redis通信接口,可以在配置文件中修改),26380(本次开放给哨兵的端口)两个端口。
单机安装 下载程序包在阿里云的Linux上可以通过以下方式,进行下载。
wget同样因为XXX缘故,速度可能会比较感人,这里同样提供网盘下载。
redis-5.0.3:提取码:6loe
创建文件夹 mkdir /developer/redis/conf mkdir /developer/redis/data mkdir /developer/redis/logs 解压文件(说明一下,我的压缩包是放在/developer目录下的。如果不在此目录,请指定解压目录)
tar -zxvf redis-5.0.3.tar.gz 无配置(默认配置)启动为了避免由于目录,造成理解错误,这里采用绝对路径。
/developer/redis-5.0.3/src/redis-server成功启动后,会看到如下画面:
配置文件为了避免”裸奔“,这里还是配置一下配置文件。
新建配置文件 touch /developer/redis/conf/redis.conf 配置文件 # 配置文件进行了精简,完整配置可自行和官方提供的完整conf文件进行对照。端口号自行对应修改 #后台启动的意思 daemonize yes #端口号(如果同一台服务器上启动多个redis实例,注意要修改为不同的端口) port 6379 # IP绑定,redis不建议对公网开放,直接绑定0.0.0.0没毛病。也可以直接注释 #bind 0.0.0.0 # 这个文件会自动生成(如果同一台服务器上启动,注意要修改为不同的端口)。多台服务器,直接默认即可 #pidfile /var/run/redis_6379.pid # 关闭保护模式(默认是开启的。开启后,只能通过配置bind ip或者设置访问密码,才可以访问) protected-mode no 配置文件启动 /developer/redis-5.0.3/src/redis-server /developer/redis/conf/redis.conf这样启动后,会出现以下页面:
单机启动的各类问题单机启动时,会看到下面图片中标出的三个问题:
修改Linux内核参数 WARNING The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.解决:
echo 1024 >/proc/sys/net/core/somaxconn overcommit_memory问题 WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.