Linux下Nginx+Tomcat+Redis实现集群(小白向,因为我也是小白)
说明啊,本蝶用的是虚拟机CentOS 7 x64,i7-8700k分配的2核心2线程,4GB DDR4 3600内存。
本文章讲解步骤:1.Redis集群搭建。2.JDK环境搭建。3.Tomcat集群搭建。4.NFS配置共享目录。5.Nginx配置。
首先,准备两个工具:Xshell,WinSCP。
什么?哪里下载?这里下载:www.baidu.com。
第一步:Redis集群搭建(从安装到运行)
访问Redis官方:https://redis.io,然后下载Redis最新版。
下载到哪儿?当然是下载到你放满片子的盘里了!
ok,这会儿WinSCP派上用场了。用WinSCP连接你的Linux。
然后将你下载片子的拖到你Linux上/home文件夹下。
嗯对,将你下载Redis的压缩包拖到你Linux上/home文件夹下。
然后使用Xshell连接你的Linux。然后到home目录下。
然后使用tar命令解压你的下载的片子。……。你下载的Redis压缩包。
命令:tar zxvf 压缩包名称,比如我的是:tar zxvf redis-5.0.4.tar.gz。
进入你刚刚解压好的Redis目录。
因为编译需要使用gcc,所以我们需要先安装gcc。gcc是什么?我也不知道,我也小白啊。照做就是了。
命令:yum install gcc。碰到确认提示的时候一律输入y就行了。
安装完后使用make MALLOC=libc命令对Redis进行编译。为什么这样做?因为直接使用make会报错,为什么报错?我也不知道,我也小白啊。
然后等就是了,编译完如下图。
然后安装Redis。使用命令make install PREFIX=/home/redis。
命令:make install PREFIX=安装路径。安装完成如下图。
使用 cd ../回到上层目录,并使用ls命令可以看到安装好的redis文件夹。也可以使用WinSCP看。
现在使用WinSCP到redis解压目录,把redis.conf复制到redis安装目录下的bin里。然后到bin目录下右键--编辑。搜索下方几个配置项并修改。
1.bind 127.0.0.1 改 bind 服务器IP,如我的:bind 192.168.31.106
2.port 6379 改 port 6000,说明:搭建集群从6000开始好数,没有别的原因。
3.# cluster-enabled yes,把前面的#去掉。该配置项的意思是 是否启用集群模式。
4.# cluster-config-file nodes-6379.conf 把前面的#去掉并改为:cluster-config-file nodes.conf, nodes-6379.conf是生成集群配置的文件名,改文件名纯属为了方便统一,没有别的原因。
5.# cluster-node-timeout 15000,把前面的#去掉,该配置项的意思是超时时间,单位毫秒。
6.daemonize no 改 daemonize yes,意思是后台运行。
然后保存。
PS:这些是开启集群的基本配置,更深入的优化配置等自行百度学习把,因为我也是个小白。
然后将redis安装目录复制5份,这样就一共有6个redis了。为什么?自己百度查吧,我也是小白,我只知道这样有3个主redis,3个从redis。如果有一个出问题了,redis集群之间能更精确的判断哪个出了问题。总之是为了保证集群能够稳定运行。
复制命令:cp -a 源目录/ 新目录。
然后使用WinSCP分别进入各个redis目录下的bin,修改redis.conf,分别把port端口数+1。
比如我现在的端口分别是:6000,6001,6002,6003,6004,6005。
然后启动这六个redis,这里写一个批量运行。
在你的电脑桌面新建文本文档,改名run-redises.sh。然后编辑内容,复制以下内容。
cd redis/bin;
./redis-server redis.conf;
cd ../../;
cd redis1/bin;
./redis-server redis.conf;
cd ../../;
cd redis2/bin;
./redis-server redis.conf;
cd ../../;
cd redis3/bin;
./redis-server redis.conf;
cd ../../;
cd redis4/bin;
./redis-server redis.conf;
cd ../../;
cd redis5/bin;
./redis-server redis.conf;
cd ../../;
什么?复制粘贴后没有换行?没有换行那就对了。
然后用WinSCP拖到Linux的home目录下。然后用Xshell给run-redises.sh分配权限。
命令:chmod 777 run-redises.sh。
然后运行run-redises.sh。命令:./run-redises.sh
有没有批量停止的命令?参考上面自己写。我才不管你们那么多呢。
————下面的绝对不是批量停止命令——————————————————————
cd redis/bin;
./redis-cli -c -h 192.168.31.106 -p 6000 shutdown;
cd ../../;
cd redis1/bin;
./redis-cli -c -h 192.168.31.106 -p 6001 shutdown;
cd ../../;
cd redis2/bin;
./redis-cli -c -h 192.168.31.106 -p 6002 shutdown;
cd ../../;
cd redis3/bin;
./redis-cli -c -h 192.168.31.106 -p 6003 shutdown;
cd ../../;
cd redis4/bin;
./redis-cli -c -h 192.168.31.106 -p 6004 shutdown;
cd ../../;
cd redis5/bin;
./redis-cli -c -h 192.168.31.106 -p 6005 shutdown;
cd ../../;
————————————————————————————————————
6个redis都启动起来后,随便进入一个redis的bin目录下,运行以下命令开启集群,具体IP和端口按照你们自己的来写。
./redis-cli --cluster create 192.168.31.106:6000 192.168.31.106:6001 192.168.31.106:6002 192.168.31.106:6003 192.168.31.106:6004 192.168.31.106:6005 --cluster-replicas 1
说明:--cluster-replicas 1 的意思是每个主redis都有1个从reids。
出现提示后输入yes。然后等待成功。
如何测试?进入redis下的bin里,使用命令./redis-cli -c -h 192.168.31.106 -p 6001。
命令说明:./redis-cli -c(集群模式) -h IP -p 端口
然后使用命令 set name dieyi
然后Ctrl+C退出,再使用命令连接另一个redis。命令:./redis-cli -c -h 192.168.31.106 -p 6003。
然后使用命令:get name。
如果发现能正常取出值,那说明成功了。
第二步:JDK环境搭建
首先去oracle官方下载jdk,怎么下载?去这里下载:www.baidu.com
下载完后用WinSCP拖到Linux服务器上home目录下。
然后使用tar命令解压jdk的压缩包。命令:tar zxvf 压缩包名称
然后用WinSCP编辑 /etc/profile。写入以下内容,JAVA_HOME的值按照自己jdk解压的位置来写。
#java config
export JAVA_HOME=/home/jdk1.8.0_211
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
然后执行 source /etc/profile 使环境变量生效!
然后输入命令:java -version 测试
这样 JDK就安装完了。
3.Tomcat集群搭建(从安装到运行再到配置Redis)
首先下载Tomcat:https://tomcat.apache.org/download-80.cgi
然后用WinSCP拖到你的Linux服务器/home目录下(为什么这步没图?这样的简单步骤咱们已经重复两次了)
然后使用tar命令解压Tomcat的压缩包,这步也没图,原因同上。
然后进入Tomcat目录下的/bin里,然后输入命令 ./startup.sh 就可以启动tomcat。
然后关闭CentOS 7自带的firewall防火墙,并禁止开机启动。
关闭防火墙命令:systemctl stop firewalld.service
禁止开机启动命令:systemctl disable firewalld.service
为啥关?别问我往下看
这会儿在浏览器里输入你的服务器IP加端口8080,比如我的是:192.168.31.106:8080,看到以下界面表示访问成功。
emmmm……水不动了,以后再说吧!