nginx配置tomcat集群

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyfdoudou110/article/details/89922769

五、nginx配置tomcat集群

1. 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而- - apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 。nginx运行起来占用的资源CUP非常少,对于启动、重启都非常快速,在低配电脑上也可以快速的运行。
2. Nginx 配置简洁, Apache 复杂 
- 对于这一点使用过nginx的用户来说就会深有体会,如果不是学习他的原理以及各种细节,几乎一会的时间就可以搭起来一个nginx集群服务器,搭建可以按着下面的步骤自己搭建。
3. 最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程。
4. nginx的负载能力比apache高很多
- 如果你的网站有大量的高并发用户访问可以试着使用nginx来作为负载均行。

目的:使用nginx解决高并发情况下的负载均衡问题:

1)-负载均衡请求分发(通过使用nginx来做负载均衡)

2)-文件上传(一个tomcat接受文件处理,其他tomcat接受非文件处理),存在资源同步问题(可以通过在linux上搭建NFS服务器来实现资源共享)

3)-不同的tomcat通过session来实现共享(否则会有不断请求登录的问题),session共享问题使用tomcat-redis-session_manager来解决。


案例:使用两台tomcat服务器:一台处理文件,一台处理非文件请求:

server1: 192.168.1.101:8080

server2: 192.168.1.101:8081

详细配置过程:
#upstream设置,设置代理服务器(负载均衡池),默认的负载均衡方式是轮询,另外一种是ip_hash
upstream tomcat_server {
#ip_hash;
server 192.168.1.101:8080 weight=1;
}

#处理上传和下载的图片文件服务器,设置代理服务器(负载均衡池),默认的负载均衡方式是轮训,另外一种是ip_hash
upstream image_server{
    server 192.168.1.101:8081 weight=1;
}

在server中配置:
# iamge 服务器location
location ~*/demo/image/ {
    proxy_pass http://image_server;
}

location ~*/demo/ {
    # HTTP代理模块 proxy,主要是用来转发请求到其他服务器
    # 如果后端服务器返回502,504,执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现failover。
    proxy_next_upstream http_502 http_504 error timeout invalid_header;
    # 变量$host等于客户端请求头中的Host值。
    proxy_set_header Host $host;
    #后端的web服务器可以通过X-Forwarded-For获取真实的IP地址,$remote_addr客户端的ip地址
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://tomcat_server;
}

猜你喜欢

转载自blog.csdn.net/zyfdoudou110/article/details/89922769