win10下实现负载均衡

一、在给两台win10开发环境配置访问地址与域名映射

1、找到c:\Windows\System32\drivers\etc目录下的host

2、在host文件给分别添加127.0.0.1 hangxin.cms.com(IP为10.204.3.20:8090);10.204.3.20 hangxin.cms.com(IP为10.204.3.223:8090)

3.保存后分别重启

二、安装NGINX(10.204.3.20)

下载:http://nginx.org/en/download.html

1.解压nginx到使用的文件夹

2.找到nginx.conf

win10下实现负载均衡

3.修改选中的配置为

#nginx进程,一般设置为和cpu核数一样
worker_processes  1;

#全局错误日志及PID文件
#error_log  logs/error.log;
#pid        logs/nginx.pid;

#工作模式及连接数上限
events {
    #use   epoll;             #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
    worker_connections  1024;#单个后台worker process进程的最大并发链接数
    # multi_accept on; 
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    include       mime.types;#文件扩展名与类型映射表
    default_type  application/octet-stream;#默认文件类型
    access_log    logs/access.log; #设定日志格式
    sendfile      on; #开启高效传输模式       
    #连接超时时间 单位是秒
    keepalive_timeout  65;
    tcp_nodelay        on;
    #开启gzip压缩
    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    #设定请求缓冲
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;
    
    #设定负载均衡的服务器列表
    upstream tomcatserverCms { #weigth参数表示权值,权值越高被分配到的几率越大
        server 10.204.3.223:8080 weight=3000 max_fails=2 fail_timeout=30s;#真实服务器A
        server 10.204.3.20:8080 weight=1 max_fails=2 fail_timeout=30s;#真实服务器B #这里是在30s内尝试2次失败即认为主机不可用!
    }
    #基于域名的虚拟主机
    server {#Nginx代理服务器 
        listen       80;
        server_name   hangxin.cms.com;
        #access_log  logs/localhost.access.log  main;#设定本虚拟主机的访问日志
        #默认请求
        location / {
            root   html; #站点根目录,即网站程序存放目录 
            index  index.html index.htm index.php;  #首页排序

            proxy_pass  http://tomcatserverCms; #请求转向leizi定义的服务器列表
            proxy_redirect  default; 
        }
        # 定义错误提示页面
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        #静态文件,nginx自己处理
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            root html;
            #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
            expires 30d;
        }
        #location 标签,根目录下的.svn目录禁止访问
        location ~ /.svn/ {
         deny all;
        }
        #设定查看Nginx状态的地址
        location /NginxStatus {
            stub_status            on;
            access_log              on;
            auth_basic              "NginxStatus";
            auth_basic_user_file  conf/htpasswd;
        }
    }
}

4.打开cmd,进入D盘 然后cd D:\softInstall\nginx-1.18.0

5.启动start nginx

6.修改配置文件后重载nginx -s reload

7.停止或者退出nginx -s quit

8.分别启动10.204.3.20与10.204.3.223里面的springboot项目(选择8080端口号)

9.访问http://hangxin.cms.com.查看效果