工作需要,要使用tomcat集群做负载均衡。准备把自己搭建的过程记录下来,供日后参考。
由于是自己练手,用的是自己电脑虚拟出来的3台虚拟机,系统版本CentOs6.5.话不多说,直接开始
装JDK于配置环境变量过程略过。。
把tomcat安装包上传至其中一台服务器,剩下的两台可以直接用命令复制(前提是同一个网段),命令是
scp apache-tomcat-8.5.39.tar.gz [email protected]:/home/zax
也就是 scp local_file remote_username@remote_ip:remote_folder
由于我三台虚拟机都是同样的目录结构,所以直接发送指令到所有会话,一次性操作三台服务器
现在解压tomcat
tar -zxvf apache-tomcat-8.5.39.tar.gz
然后开放外网,我这里是通过编辑文件的形式开放外网的
vim /etc/sysconfig/iptables
将8080端口加进去,忽略我的5601,9200与9300
重启防火墙 service iptables restart
然后将tomcat放置于app文件夹(个人习惯,也可不放),如果你的jdk环境配置好了的话,这时候可以直接启动tomcat,先验证tomcat是否正常,可以看到我的三台tomcat都成功启动。
接下来就是配置Nginx了,且只用安装在其中一台服务器上
安装以下4个环境(若是redis。则只用安装第一个)
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
上传nginx包,解压后,进入目录执行 ./configure 执行完成后 确认目录是否有 Makefile 文件夹 ,再执行 make 命令
还是在当前目录下,执行 ./configure --prefix=/home/zax/soft/nginx 将nginx装在你指定的文件夹中
再执行 make && make install 此命令后,你的nginx文件夹就是一个绿色版nginx,可以复制到其它机器上使用
然后配置 nginx/conf 里面的 nginx.conf 配置文件
再按照上面开启防火墙的形式把80端口开放
回到nginx/sbin 目录 , 执行 ./nginx 启动 nginx 访问 ip 地址 ,看到tomcat首页则完成tomcat集群部署
为了验证,我修改了其中一个tomcat的首页,不停的刷新,这样看的效果更明显
关于集群之间的session共享,是采用redis缓存的方式解决的,后面有空会加进来。
还有nginx里面可以加白名单(指定IP才能访问),有空会一起贴出来