zoukankan      html  css  js  c++  java
  • Nginx+tomcat负载均衡配置

    实施环境:

    windows7 64 位操作系统(两台电脑,一个虚拟机)

    nginx-1.8.1 下载地址  https://pan.baidu.com/s/1o8vagae  当然也可以去官网下载。

    电脑A的IP:192.168.60.104 端口 80  -----该电脑部署Nginx

    电脑B(虚拟机)的IP:192.168.230.131 端口 18080  ----------该电脑部署tomcat及项目

    电脑C的IP:192.168.1.126  端口 28080   ----------该电脑部署tomcat及项目

    步骤:

        1.下载nginx,下载完毕后解压将文件放入E盘

      

        2.进入nginx目录下,在确保:80端口未被占用的情况下,在地址栏输入cmd,进入控制台后,输入start nginx 回车。

         然后如果在地址栏中输入http://localhost 回车,出现nginx的欢迎界面,说明配置成功

        3.在A电脑上设置Nginx的相关配置,找到nginx存放位置,在conf文件夹下找到nginx.conf进行编辑,内容如下:

     1  
     2 worker_processes  1; 
     3 events {
     4     worker_connections  1024;
     5 }
     6 
     7 
     8 http {
     9     include       mime.types;
    10     default_type  application/octet-stream; 
    11 
    12     sendfile        on; 
    13     keepalive_timeout  65; 
    14     upstream backend {
    15         server   192.168.230.131:18080;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
    16         server   192.168.1.126:28080;  
    17         #ip_hash;
    18     }    
    19 
    20     server {
    21         listen       80;
    22         server_name  localhost; 
    23 
    24         location / {
    25            root   html;
    26            index  index.html index.htm;
    27            proxy_pass                  http://backend;  
    28            proxy_redirect              default;
    29            proxy_set_header            Host $host;
    30            proxy_set_header            X-Real-IP $remote_addr;
    31            proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    32            client_max_body_size        10m;
    33            client_body_buffer_size     128k;
    34            proxy_connect_timeout       3;
    35            proxy_send_timeout          90;
    36            proxy_read_timeout          90;
    37            proxy_buffer_size           4k;
    38            proxy_buffers               4 32k;
    39            proxy_busy_buffers_size     64k;
    40            proxy_temp_file_write_size  64k; 
    41         } 
    42         error_page   500 502 503 504  /50x.html;
    43         location = /50x.html {
    44             root   html;
    45         } 
    46     } 
    47 
    48 }

    4.配置B电脑 和C电脑上的tomcat

    打开server.xml文件,文件目录在tomcat文件夹下的 conf -->server.xml,这里需要修改三个地方,这里我把B电脑端口改为前边全部加上了1,C电脑端口前边全部加上了2,该处至列举对B电脑的配置修改代码

    <1>

    <Server port="8005" shutdown="SHUTDOWN">
    改为 <Server port="18005" shutdown="SHUTDOWN">

    <2>

      <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20"    redirectPort="8443"  URIEncoding="UTF-8"  />
    改为
      <Connector port="18080" protocol="HTTP/1.1"  connectionTimeout="20"    redirectPort="8443"  URIEncoding="UTF-8"  />

    <3>

     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    改为
     <Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />

    5.配置完毕后,重新启动tomcat,然后确保本地项目已被启动且可以访问。

    6.回到A电脑,重新启动nginx 命令 nginx -s reload

    打开浏览器,输入http://localhost/ 如果顺利进入项目,那么说明配置成功。

    额外补充一下nginx的,通过这端代码可以监控Nginx的状态。

    # localhost:8082/NginxStatus/ 可以访问
        location ~ ^/NginxStatus/ { 
            stub_status on; #Nginx 状态监控配置
                access_log off; 
        } 

    Nginx的常用命令

     1 停止
     2 nginx -s stop
     3 
     4 退出
     5 nginx -s quit
     6 
     7 重新加载 ,当你改变了nginx配置信息并需要重新载入这些配置时可以使用此命令重载nginx
     8 nginx -s reload
     9 
    10 重新打开日志文件命令
    11 nginx -s reopen
    12 
    13 nginx -v
    14 nginx命令参数v与V的区别
    15 nginx -v命令只是简单显示nginx的版本信息(nginx version)
    16 nginx -V不但显示nginx的版本信息,而且还显示nginx的配置参数信息。

    假设B电脑挂掉,刚好这个时候有用户正在使用系统,且Nginx分配的是B电脑的访问地址,那么这时候nginx会自动切换到C电脑上,而用户又没有在C电脑部署的系统上登录,那么这个时候就涉及到session共享机制,我只设置了如下几处地方,如需深入了解请转移https://www.cnblogs.com/SZLLQ2000/p/5814520.html

    我的设置:

    1.在tomcat 的server.xml中将<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 开启,之前是被注视掉的。

    2.在我们的项目下找到web.xml,我部署在了B电脑和C电脑,那么找到这两个web.xml,找到最后的</web-app>并在它之前分别添加<distributable/>。

  • 相关阅读:
    DeWeb 与 Unigui的区别
    DeWeb 电脑和手机动态适配
    DeWeb --- Hello,World!
    DeWeb 简介
    Android ---------- 汉字空格
    Android ---------- List 数组转成 json格式的字符串
    Android ---------- TabLayout 实战 (一)
    Thinkphp5.0中input函数用法
    jQuery在页面加载的时候自动调用某个函数的方法(转载)
    关于wampserver的一点知识
  • 原文地址:https://www.cnblogs.com/pengpengzhang/p/8124952.html
Copyright © 2011-2022 走看看