tomcat+nginx负载均衡配置

本文介绍如何使用Nginx进行简单的负载均衡配置,并演示了如何设置反向代理及多重代理,包括配置文件的具体参数说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 工具
    nginx-1.7.9
    这里写图片描述
  2. 配置
    打开conf目录下的server.conf,添加以下配置
    这里写图片描述
    注意画框的两处名字要相同,经测试server_name可以任意写,但其他文章说要和域名保持一致.还是尽量一致吧,不影响.
    test_yn是本地host 的域名,可以通过工具或者打开目录C:\Windows\System32\drivers\etc下的host修改.
    添加
    127.0.0.1 test_yn.com
    负载均衡到的服务器可以不同,我测试的两台一台为Tomcat,一台Resin.
    具体配置:
 #服务器的集群  
    upstream  test_yn.com {  #服务器集群名字   
        server    192.168.20.91:80  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
        server    127.0.0.1:18080  weight=1;  
    }  
       #当前的Nginx的配置  
    server {  
        listen       80;#监听80端口,可以改成其他端口  
        server_name  test_yn;#   当前服务的域名  

    location / {  
            proxy_pass http://test_yn.com;  
            proxy_redirect default;  
        }  


        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  
    } 

这样简单的负载均衡就配置完成了.Nginx还可以做反向代理,访问本地资源.

    # 反向代理静态资源
    server {
    listen 80;
    server_name static.test.cn;

    location / {
    root D:/www;
    }
    }

可以多重代理

    server {
        listen       80;
        server_name  test.cn;

        location /Admin/ {
            proxy_pass http://test.cn:8087;
            include proxy_setting.conf;
        }

        location / {
            proxy_pass http://test.cn:8088;
            include proxy_setting.conf;
        }
    }

proxy_settint.conf内容

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;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   6000;
proxy_send_timeout      6000;
proxy_read_timeout      6000;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
### 使用 Docker 配置 TomcatNginx 实现负载均衡 #### 1. 准备工作 为了确保顺利配置,需先确认已成功安装并运行 Docker 环境。接着创建所需的镜像文件用于启动 TomcatNginx 容器。 对于 Tomcat 容器而言,在构建过程中应保证其内部存在 `/usr/local/tomcat/webapps` 文件夹以便放置 Web 应用程序,并且建议预先安装 `vim` 工具方便后续调试操作[^3]。 同样地,针对 Nginx 容器也需要提前部署好必要的编辑工具如 `vim` ,这有助于后期调整配置文件时更加便捷高效。 #### 2. 启动多个 Tomcat 容器实例 基于官方提供的基础镜像来定制专属的服务端口映射规则,比如可以分别指定不同的主机端口号对应到容器内的默认 HTTP 接入点(通常是8080),从而区分各个独立的应用服务进程: ```bash docker run -d --name tomcat1 -p 9080:8080 tomcat:latest docker run -d --name tomcat2 -p 9081:8080 tomcat:latest ``` 上述命令会依次拉取最新版本的 Tomcat 镜像并以前台守护模式启动两个新的容器实例,同时将本地机器上的特定端口绑定至各自容器中的标准HTTP监听地址[^1]。 #### 3. 修改 Nginx配置文件以支持反向代理功能 进入已经准备好的 Nginx 容器内修改位于 `/etc/nginx/conf.d/default.conf` 下面的核心设置项,添加如下所示的内容定义上游服务器组以及设定访问路径转发逻辑: ```nginx upstream backend { server tomcat1:8080; server tomcat2:8080; } server { listen 80; server_name localhost; location / { proxy_pass http://backend; 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_set_header X-Forwarded-Proto $scheme; } } ``` 这段脚本的作用在于告诉 Nginx 当接收到客户端请求时应该怎样处理——即把流量分发给后端实际提供业务响应的一系列 Tomcat 进程之一;其中涉及到的一些头部字段则用来传递原始连接信息给目标应用层组件,便于日志记录等功能需求。 完成以上更改之后记得保存退出再重启一次 Nginx 来使新策略生效: ```bash docker restart nginx_container_id_or_name ``` 此时便实现了基本意义上的动态分配网络资源机制,提高了系统的并发承载能力和可用性水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值