Nginx中配置服务的反向代理(服务器集群技术)

需求:安装两个tomcat服务,通过nginx反向代理。

1:安装两个及以上tomcat

2:配置tomcat

修改端口:打开bin目录下的server.xml文件

 

修改下面三个端口, 不能重复防止冲突;

<Serverport="8005"shutdown="SHUTDOWN">

<Connectorport="8080"protocol="HTTP/1.1" #这个是访问的端口  ,注意每个服务器的三个端口都不能重复

connectionTimeout="20000"

redirectPort="8443"/>

修改首页内容

打开wabapp下面的root目录下的index.jsp文件,在标题头上可加上标识用于区分服务器 

3:配置Nginx实现服务的反向代理

打开nginx下的conf下的nginx.conf;

同一个网址在两台tomcat上使用,nginx完成负载均衡代理

#配置服务器集群

upstream tomcat_server1{  #给代理服务器集群取个名字

server 192.168.160.128:8081; #linux上的ip加上tomcat的端口号:在上面有配置好 

server 192.168.160.128:8082;

server 192.168.160.128:8083;

}

#在网页中输入192.168.160.128:80时会访问以上三个服务器中的一个,如果没加权重就是默认轮询从第一个开

#始,如果加了权重就是按照比例随机

server {

        listen       80;

        server_name  192.168.160.128;

        location / {

           # root   html161;

            proxy_pass  http://tomcat_server1; #请求找到上面的服务器集群名

           proxy_http_version 1.1;   #协议版本

            proxy_set_header Host $host;   #加上请求头

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

说明nginx默认的负载均衡策略是轮询策略

改完nginx.conf文件重启nginx报以下的错

nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

解决:

修改nginx.conf正确的格式,然后删除nginx.pid文件

rm -f /usr/local/nginx/logs/nginx.pid

4:在反向代理中配置负载均衡

1:什么是负载均衡

        负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量(每秒钟可以处理的请求数QPS)、加强网络数据处理能力、提高网络的灵活性和可用性。

        负载均衡,英文名称为LoadBalance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

2:Nginx负载均衡策略

nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至tomcat服务器。

权重

在网页中输入192.168.160.128:80时会访问以上三个服务器中的一个,如果没加权重就是默认轮询从第一个开始,如果加了权重就是按照比例随机

upstream tomcatservercluster{

         server 192.168.160.133:8081 weight=2;

         server 192.168.160.133:8082 weight=9;

         server 192.168.160.133:8083 weight=1;

         server 192.168.160.133:8084 weight=9;

}

轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

upstream tomcatservercluster{

         server 192.168.160.133:8081 down;  #下线,休息不参与负载

         server 192.168.160.133:8082;

         server 192.168.160.133:8083;

         server 192.168.160.133:8084;

}

从访问结果看出8081不提供服务了

绑定ip_hash

每个请求按访问iphash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,第一次访问使用的哪个服务器以后固定就用那个了,权重无效了.

#配置服务器集群

upstream tomcatservercluster{

         ip_hash;

         server 192.168.160.133:8081 weight=2;

         server 192.168.160.133:8082 weight=9;

         server 192.168.160.133:8083 weight=1;

         server 192.168.160.133:8084 weight=9;

}

第一次访问使用的哪个服务器以后固定就用那个了,权重无效了

替补

#配置服务器集群

upstream tomcatservercluster{

  

   server 192.168.160.133:8081;#假如8081端口宕机

   server 192.168.160.133:8082;

   server 192.168.160.133:8083;

   server 192.168.160.133:8084 backup;  #替补

}

down表示当前的server暂时不参与负载

weight默认为1.weight越大,负载的权重就越大

backup替补机:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

如果报错:

[root@localhost sbin]#"/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

执行:   /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值