nginx+Tomcat在同一台服务器上部署运行多个网站

nginx是专门用于反向代理的服务器   

Nginx 本身用来处理静态资源   在 HTML文件夹

原文地址  

nginx+Tomcat在同一台服务器上部署运行多个网站_草根java

tomcat

打开 Tomcat安装路径/conf/service.conf

location可以配置好多个,从而代理到多个服务器上的tomcat

一个server {}块  对应一个域名   

修改默认端口

<!--第1处-->
<Server port="18005" shutdown="SHUTDOWN">
<!--第2处-->
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!--第3处-->
<Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />

 访问 http://localhost/18080

如若访问不成功   

1.   防火墙  (添加规则或关闭)CentOS7          systemctl  stop firewalld.service

2.   安全组   (我的阿里云服务器有安全组功能)

Nginx

报一个错

代理路径加上  http://

输入  www.junhao.art 访问成功

Linux 两个Tomcat 

在Linux 的tomcat安装位置复制成两个tomcat改端口

修改环境变量

##########first tomcat###########
CATALINA_BASE=/usr/local/tomcat01
CATALINA_HOME=/usr/local/tomcat01
TOMCAT_HOME=/usr/local/tomcat01
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat###########
##########second tomcat##########
CATALINA02_BASE=/usr/local/tomcat02
CATALINA02_HOME=/usr/local/tomcat02
TOMCAT02_HOME=/usr/local/tomcat02
export CATALINA02_BASE CATALINA02_HOME TOMCAT02_HOME
##########second tomcat##########

 source  /etc/profile 

第二个tomcat的  server.xml设置

第一个tomcat设置成 18080  第二个设置成28080

<!--第1处-->
<Server port="28005" shutdown="SHUTDOWN">
<!--第2处-->
<Connector port="28080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!--第3处-->
<Connector port="28009" protocol="AJP/1.3" redirectPort="8443" />

进入tomcat02/bin,打开catalina.sh,将所有的CATALINA_BASE改为CATALINA02_BASE,

将所有CATALINA_HOME改为CATALINA02_HOME,保存。

Nginx+Tomcat搭建高性能负载均衡集群

将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。

原文Nginx+Tomcat搭建高性能负载均衡集群_大鹏-CSDN博客_nginx tomcat负载均衡

Nginx负载均衡配置

原文  

Nginx负载均衡配置_技术改变生活-CSDN博客_nginx负载均衡配置

http {

    # weight默认为1,将请求平均分配给每台server
    # 上例配置,表示6次请求中,100分配2次,101分配3次,102分配1次
    upstream tomcats {
        server 192.168.0.100:8080 weight=2;  # 2/6次
        server 192.168.0.101:8080 weight=3;  # 3/6次
        server 192.168.0.102:8080 weight=1;  # 1/6次
    }

    server {
        listen 80;

        location / {
            proxy_pass http://tomcats;
        }
    }

    # ... 省略其它配置
}

启动  

nginx是80端口

几个tomcat是自定义端口  不能冲突

 Linux下Tomcat修改favicon.ico图标
http://www.cnblogs.com/fanshuyao/p/6489128.html

最后看一下有无权限运行

chmod 777 *.sh 

Nginx 限流

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=100r/s;

location /service {
    limit_req zone = mylimit burst=20 nodelay;
    proxy_pass http://tomcats;
}

1、配置参数

limit_req_zone定义在http块中,$binary_remote_addr 表示保存客户端IP地址的二进制形式。

Zone定义IP状态及URL访问频率的共享内存区域。zone=keyword标识区域的名字,以及冒号后面跟区域大小。16000个IP地址的状态信息约1MB,所以示例中区域可以存储160000个IP地址。

Rate定义最大请求速率。示例中速率不能超过每秒100个请求。

2、设置限流

burst排队大小

  • burst=20,  (我们短时间内发送了大量请求,Nginx按照毫秒级精度统计,超出限制的请求直接拒绝。这在实际场景中未免过于苛刻,真实网络环境中请求到来不是匀速的,所以有缓冲区)burst爆发的意思,这个配置的意思是设置一个大小为20的缓冲区当有大量请求(爆发)过来时,超过了访问频次限制的请求可以先放到这个缓冲区内。
  • nodelay,如果设置,让缓冲区排队的请求立即执行;超过访问频次而且缓冲区也满了的时候就会直接返回503,如果没有设置,则所有请求会等待排队。
nginx处理的时候是做时间切片的,  rate= 100r/s , 这样nginx就是将1s切成100个时间片段,在一个时间片段里面,只能处理一个请求。
也就是说:10ms能处理一个请求。我们在假设你的接口很快可以1ms就返回。那在剩余的9ms内,nginx在接到任何请求就会直接被限速掉了返回503。为了解决这个问题,你可以增加burst的值,让在9ms内的请求,nginx先接住不处理,等10ms的时间片结束,就会从等待的队列中拿出一个请求来继续处理。这样对用户来说就友好了(但是耗时会延长)。

burst如果队列设置的比较大,请求排队的时间就会比较长,用户角度看来就是RT变长了。服务器若处理不了巨量请求,直接拒绝用户的请求,这就成了漏桶算法

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值