Linux下nginx+多个Tomcat负载均衡的实现

由于项目需要,共创建了10个Tomcat端,由nginx负责转发。9个Tomcat端口分别是8080,11000,12000,13000,14000,15000,16000,17000,18000,19000.

nginx配置:upstream Tomcat {

server xxx.xxx.xx.xxx:8080

server xxx.xxx.xx.xxx:11000

...以此类推

}

server配置:

server{

if ( $uri = ‘/‘ ){
rewrite .* / break;
}
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcat;
}

server{

if ( $uri = ‘/‘ ){
rewrite .* / break;
}
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcat;
}

...依次类推

}

其他类似。主要是Tomcat这里配置比较繁琐。

1,下载jdk安装包,这里下载的是1.8版本的。

2,解压。

3,安装路径在/usr/java目录中

4,环境变量的配置:

vim /etc/profile进入编辑:

export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=/usr/java/jdk1.8.0_131/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/mysql/bin:$PATH

添加完成之后source /etc/profile使其生效。

检测:在命令行输入Java -version即可看到JDK版本等信息,表示安装成功。接着是Tomcat的配置。

tomcat:

1,下载安装包,这里下载的是apache-tomcat-8.5.15.tar.gz。

2,解压安装脚本:

for i in crm dz jz tb wm xyg yg yj lcb gw
do
cd /usr/local
tar -zxf apache-tomcat-8.5.15.tar.gz
mv -f apache-tomcat-8.5.15 /usr/local/tomcat/"${i}"  #生成10个Tomcat端
cd /usr/local/tomcat/"${i}"/bin/
cat >> catalina.sh <<EOF       #这里的代码主要是配置每个Tomcat端的启动脚本的环境变量
export CATALINA_BASE=‘’$CATALINA‘_BASE_"${i}"
export CATALINA_HOME=‘$CATALINA‘_HOME_"${i}"
EOF
cat >> /etc/profile <<EOF   #这里的代码主要是配置这10个Tomcat端的环境变量

#“${i}”

CATALINA_BASE_"${i}"=/usr/local/tomcat/"${i}"
CATALINA_HOME_"${i}"=/usr/local/tomcat/"${i}"
export CLASSPATH=.:${CATALINA_HOME_"${i}"}/bin/tomcat-juli.jar:${CATALINA_HOME_"${i}"}/bin/bootstrap.jar
export CATALINA_BASE_"${i}" CATALINA_HOME_"${i}"

EOF
done

crm dz jz tb wm xyg yg yj lcb gw这些是项目中的名称,可以不用去管他,你也可以自己取名

接下来,配置每个Tomcat的端口。稍后我会上传自动替换脚本。

进入每一个Tomcat端的conf目录下,cd /usr/local/tomcat/项目名称/conf

vim server.xml

修改3处:

1)<Server port="8005" shutdown="SHUTDOWN">  port端口号

2)<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />   port端口号

3) <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />   port端口号

之后:cd ../bin/

修改:

vim catalina.sh

查找到:setclasspath这个名称。命令:/setclasspath

修改$CATALINA_HOME+你项目名称(要对应),注意这里要修改setclasspath这个名称前所有的$CATALINA_HOME

esc,:wq保存并退出。

至此,配置基本完成。

最后,进入到bin目录下,先./shutdown.sh,然后再./startup.sh就成功启动了

如果网页显示拒绝的话,那么很有可能是防火墙拒绝了,要添加规则

vim /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 端口号 -j ACCEPT

或者

-A INPUT -s 你的IP地址 -j ACCEPT

在浏览器地址栏中输入http://localhost:端口,即可访问,默认应该是Tomcat自带目录,一只小猫。

时间: 2024-10-27 12:55:12

Linux下nginx+多个Tomcat负载均衡的实现的相关文章

Linux 下Nginx 的安装及负载均衡的简单配置

这次发布程序需要均衡负载,网上看了一下这方便的东西,觉得很不错,学完之后做下总结,一遍后期用到. 1.安装nginx之前需要安装的两个依赖,pcre-x.x.x.tar.gz 和pcre-devel-x.x.x.rpm这两个包(具体这两个有什么用处也没仔细研究过,不安装确实再安装nginx时失败) 1.1安装1.安装pcre-x.x.x.tar tar zxvf pcre-x.x.x.tar.gz cd pcre-x.x.x ./configure make && make install

centos 安装nginx + 多个tomcat负载均衡

今天在centos上安装了两个tomcat和nginx,进行配置.今天记录的只是最基本的实现测试.(不包含使用redis进行session共享) Nginx 是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.  其特点是占有内存少,并发能力强. 直接开始主题: 1,首先jdk应该是配好了我就不写了,安装nginx(我使用的rmp安装) ,安装 pcre 让nginx支持rewrite,我使用的是pcre2-10.00.t

Linux系统——Nginx反向代理与负载均衡

集群集群是指一组(若干个)相互独立的计算机,利用高速通信网路组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运用各自服务的独立服务器.这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理.当用户客户机请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器. 特点:(1)高性能用户通过Internet到公司的网关,网关通过防火墙,调载到前端的主负载均衡服务器上(有主有备,预防单点问题),主负载均

开发人员学Linux(5):CentOS7编译安装Nginx并搭建Tomcat负载均衡环境

1.前言在上一篇讲述了JMeter的使用,在本篇就可以应用得上了.本篇将讲述如何编译安装Nginx并利用前面的介绍搭建一个负载均衡测试环境.2.软件准备Nginx-1.12.0,下载地址:https://nginx.org/download/nginx-1.12.0.tar.gzTomcat8(本系列已介绍过如何下载和安装)JMeter(本系列已介绍过如何下载和使用)注:VirtualBox宿主机IP为"192.168.60.16,虚拟机IP为:192.168.60.198,虚拟机通过桥接方式接

web服务器并发优化(nginx+多实例tomcat负载均衡并发5000左右)

前言:   我之前在服务器方面不太懂,经过此次的配置让我的技术有了很大的进步,写此给大家共享一下,如有错误之处欢迎指正.   配置这个初衷是为了给java(s2sh框架)写的app接口提供大的并发量支持 ,并且是https的接口 (淘宝买的 http://item.taobao.com/item.htm?spm=a1z09.2.9.69.zvqUo9&id=39486787932&_u=21mb264ebe80   卖家人不错,我说配tomcat  给的jsk文件,几天后我配nginx给了

简单的nginx+2台tomcat负载均衡(自己记录)

#user  nobody; #工作进程数(worker),一般等于cpu内核数或者两倍 worker_processes  2; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events {     worker_connections  1024; } http {     includ

使用apache和nginx代理实现tomcat负载均衡及集群配置详解

实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 eth0: 192.168.10.20 tomcat server2: vmnet2 eth0: 192.168.10.30 # yum install -y nginx-1.8.1-1.el6.ngx.x86_64.rpm # vim /etc/nginx/conf.d/default.conf

Linux中Nginx反向代理和负载均衡和LNMP架构上线网站

Nginx和Apache对比(重点): 1.轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 2.nginx 处理静态文件好,静态处理性能比 apache 高三倍以上,apache 在处理动态请求有优势 3.nginx 作为负载均衡服务器,支持 7 层负载均衡 4.抗并发,nginx 以 epoll and kqueue 作为开发模型 nginx部署: 第一步:配置yum源(原基础上添加) [[email protected] ~]vim  /etc/yum.repos.

linux 下Haproxy实现简单四层负载均衡

HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. Haproxy的四层负载均衡搭建 主机规划: server 192.168.1.148  提供haproxy服务 后台  web1  192.168.1.150 web2  192.168.1.136 使用源码包安装 解压: tar -zxvf haproxy-1.4.24.tar.gz 进入到解压目录: cd  haproxy-1.4.24 编译: make TARGE