我们大家都知道nginx是一个高可用,高并发、高性能,可扩展性好,高可靠性,热部署,BSD许可证的一款轻量级的Web 服务器。我们接下来搭建,通过nginx实现tomcat的负载均衡。废话不多说,直接上干货!
实验环境:linux contOS 7 系统,jdk 1.8,nginx最新稳定版,tomcat 10
一:安装软件:
1. 安装nginx
从官网上下载ngxin
我下载的源码包,通过 ./configure&&make&&make insatll 命令安装
建议一次执行一个命令,./configure 执行完后,在执行make ,make没报错,在执行make install。
./configure 后面一般跟--prefix=path(path要安装的位置,根据自己需求)参数,根据实际情况选择参数执行
安装nginx之前需要安装一些依赖包,通过命令 yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.安装tomcat
安装tomcat之前,需要先安装jdk,直接从官网上下载rpm包,通过rpm -ivh命令安装,安装完成后,通过java -version命令验证是否安装成功。
安装完成后,去tomcat 直接从官网上下载linux对应的软件压缩包,上传到linux服务器,解压后,进入bin目录,执行./start.up脚本,即可运行起来,通过访问本机 ip:8080,可以看到tomcat页面。
二:修改配置文件,通过nginx搭建tomcat的负载均衡
1.实现tomcat的负载均衡,最少需要两台tomcat服务器,我们通过cp -r命令复制tomcat源码文件,模拟两台tomcat服务器
理论上一台服务器跑一个服务程序,不允许跑多个相同的服务程序,实际我们通过修改服务程序端口,就能同时跑多个服务程序。
tomcat默认端口是 8080 http访问端口,8005 关闭端口, 8443 https 这几个常用的端口,我们复制一份tomcat程序文件后,需要修改上述端口,使和原始的tomcat端口不一致,如第二份tomcat端口修改成 8081,8006,8444。修改 conf/server.xml 文件,找到对应的端口进行修改。
修改完tomcat配置文件,在修改系统的配置文件,加下需要的catalina环境变量
vim /etc/profile
在文件最后加上如下
##########First Tomcat###########
CATALINA_BASE=/usr/local/tomcat/apache-tomcat-10.0.27
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-10.0.27
TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-10.0.27
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########Second Tomcat##########
CATALINA2_BASE=/usr/local/tomcat/apache-tomcat-10.0.27_2
CATALINA2_HOME=/usr/local/tomcat/apache-tomcat-10.0.27_2
TOMCAT2_HOME=/usr/local/tomcat/apache-tomcat-10.0.27_2
export CATALINA2_BASE CATALINA2_HOME TOMCAT2_HOME
修改完成后,保存退出,通过 source /etc/profile 命令,使配置文件立即生效
接下来到第二份tomcat的 bin 路径下,修改 catalina.sh 脚本,
找到 # OS specific support. $var _must_ be set to either true or false. 这句话,在这句话中最下面 添加如下语句
export CATALINA_BASE=$CATALINA2_BASE
export CATALINA_HOME=$CATALINA2_HOME
使和系统环境变量一致,保证能找到相应的程序路径
可以在tomcat中的webapps目录下创建一个测试页面,用于负载均衡测试
2.配置nginx
编辑nginx的配置文件 conf/nginx.conf 文件
编辑里面的server块中的 location / {}块,中添加一句跳转语句:proxy_pass http://tomcatCluster; 此句是反向代理的关键句,用户通过访问nginx服务器,在跳转到tomcat服务器上
在http块中,也就是和server块同级,在server 块上面添加一个
upstream tomcatCluster{(可以理解为负载均衡的模块,在这个模块里可以填写多个服务器地址,通过weight来调配访问的概率,实现负载均衡)
server 192.168.x.x:8080 weight=1;(填写自己tomcat的ip地址,weight表示权重,数字越大,访问时,被分配到的概率越大)
server 192.168.x.x:8081 weight=1;
}
上述配置都完成后,依次开启tomcat1,tomcat2,nginx服务,访问本机nginx服务,可以看到访问一个地址,会跳转到不同的服务器
这边通过不同的端口,模拟不同的服务器。
标签:负载,tomcat,端口,nginx,HOME,服务器,安装 From: https://www.cnblogs.com/hdhx-lh/p/17092520.html