window 环境配置 Nginx1.8+Tomcat7.0 负载均衡+session同步

本文介绍如何在Windows 10环境下配置多个Tomcat实例,并通过Nginx实现负载均衡。主要内容包括Tomcat的端口配置、Nginx的配置文件详解及启动步骤。

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

  1. 环境:
    1. window10
    2. nginx1.8    http://pan.baidu.com/s/1i3ONT1j
    3. Tomcat7.0  http://pan.baidu.com/s/1kTOdXGV
  2. tomcat7.0配置
    1. tomcat 下conf文件夹,修改 server.xml 文件 ,你可以配置n个tomcat,只需要修改如下四处,保证tomcat的端口不冲突 ;
    2. <!-- 第一处,原本是8005, 8102,8103 …… -->
      <Server port="8101" shutdown="SHUTDOWN">
      
      <!-- 第二处,原本是8080,8081,8082,…… -->
       <Connector port="8081" protocol="HTTP/1.1"   connectionTimeout="20000" redirectPort="8443" />
      
      
      <!-- 第三处,原本是8009,8201,8202 …… -->
      <Connector port="8201" protocol="AJP/1.3" redirectPort="8443" />
      
      <!-- 第四处,增加  jvmRoute="Tomcat1"   <span style="font-family: Arial, Helvetica, sans-serif;">jvmRoute="Tomcat2" …… </span> -->
      <Engine name="Catalina" defaultHost="localhost" jvmRoute="Tomcat1">


  3. Nginx1.8配置,下面的文件都不用用记事本打开,保存后可能带有BOM,这样在启动Nginx会有乱码,如果启动出现乱码可以使用 notepad++ 软件打开,格式中使用UTF8无BOM格式;
    1. nginx下conf文件夹,修改nginx.conf文件
    2. #Nginx所用用户和组
      #user  niumd niumd;
      
      #工作的子进程数量(通常等于CPU数量或者2倍于CPU)
      worker_processes  2;
      
      #错误日志存放路径
      error_log  logs/error.log  info;
      
      #指定pid存放文件
      pid   logs/nginx.pid;
      
      events {
          #允许最大连接数
          worker_connections  3048;
      }
      
      http {
          include       mime.types;
          default_type  application/octet-stream;
      
          #access_log  off;
          access_log  logs/access.log;
      
          client_header_timeout  3m;
          client_body_timeout    3m;
          send_timeout           3m;
       
          client_header_buffer_size    1k;
          large_client_header_buffers  4 4k;
      
          sendfile        on;
          tcp_nopush      on;
          tcp_nodelay     on;
      
          #keepalive_timeout  75 20;
      
          include    gzip.conf;
         	upstream localhost {
         	  #ip_hash 启用表示,之后这个ip将只访问第一次访问的tomcat,session就会是同一个
                #ip_hash;
      	  #localhost因为是我本地部署,所以不同的服务器,修改成ip即可
                server localhost:8081;
                server localhost:8082;
      	  server localhost:8083;
           }
          server {
      			#这里的listen 端口号默认是80的但经常被占用,实际发布应该也是80,只要将占用80端口的应用停掉即可
                  listen       81;
                  server_name  localhost;   
      
                  location / {
                  	proxy_connect_timeout   3;
                  	proxy_send_timeout      30;
                  	proxy_read_timeout      30;
      				#proxy_pass 里访问的是 " upstream localhost  "中的localhost
                      proxy_pass http://localhost;
                  }            
         }
      }
    3. <pre name="code" class="html">#conf文件夹下,创建 proxy.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   300;
      proxy_send_timeout      300;
      proxy_read_timeout      300;
      proxy_buffer_size       4k;
      proxy_buffers           4 32k;
      proxy_busy_buffers_size 64k;
      proxy_temp_file_write_size 64k;


       
    4. <pre name="code" class="html">conf文件夹下创建gzip.conf文件,复制下面的内容
      
      gzip              on;
      gzip_min_length      1000;
      gzip_types         text/plain text/css application/x-javascript;


       
  4. 启动Nginx, 可以先进入dos命令,进入 nginx文件夹下,使用 nginx -t 检测 nginx.conf是否有误,没有问题后使用 nginx命令回车,就能启动, 任务管理器中会出现nginx应用, nginx.conf文件中 worker_processes  2;参数可以调整;
  5. 启动tomcaat,如果端口不被占用应该是可以正常运行的;
  6. 将tomcat1, tomcat2,tomcat3 下webapps\ROOT文件夹中的 index.jsp 加上标识 ,
在body标签开始处增加 tomcat1 ,tomcat2, tomcat3
  1. 访问验证 配置 :访问:http://localhost:81 ,刷新 页面, 看看页面是不是访问不同的tomcat 
(不是每次都切换,可以是访问3次tomcat1之后,才会访问tomcat2……),如果是调用不同的tomcat就对了;到此测试应该是没有问题的;
  1. nginx.conf文件中 将 ip_hash 前的“#”去掉,那这个用户第一次请求了哪台服务器,之后就一直请求这台服务器;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值