zoukankan      html  css  js  c++  java
  • C#负载均衡 windows下实现简单负载均衡(无实际意义)

     转载自 https://www.cnblogs.com/edisonchou/p/4126742.html#!comments 

     因博主说的不太清楚,搭了半天才搞明白

    然后自己简化总结了一下方案

    手快的话三分钟搭好

    一:站点

     没有直接搭建iis

    用的vs自带的iis

    现在有三个站点:

    http://localhost:8050

    http://localhost:8060

    http://localhost:8070

     分别名为 "第一台web服务器"|"第二台web服务器"|"第三台web服务器"

    二: 搭建Nginx

     从https://www.baidu.com/link?url=GKGrcD0YIrE7fvwXXDuhEY46Ni2eAmVNFBs_kD2tN1a&wd=&eqid=dc0997710000ae06000000035b738605下载

    我解压后放在了

    "E:Programfzjh ginx-1.15.2 ginx.exe"

    之后打开cmd,依次输入

    E: //然后回车,目的是跳转到E盘

    cd E:Programfzjh ginx-1.15.2                     //跳转到当前exe所在的文件目录

    start nginx.exe

    然后打开Http://localhost

    没什么意外应该显示

     

    这说明nginx已经启动成功

    然后修改conf目录下的nginx.conf

    我的配置给大家伙先展示下,随后再贴出要改的地方

    最后需要在cmd里重启nginx:

    nginx -s reload

    (注:不能用记事本打开nginx.conf,我用的是windows自带的写字板,但是粘贴之后保存也会出错,最后只能纯手打了)

    #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  10240;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    upstream pt.com{
    server 127.0.0.1:8050  weight=2;
    server 127.0.0.1:8060  weight=2;
    server 127.0.0.1:8070  weight=2;
    }
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
    root html;
    index default.aspx;
               proxy_pass http://pt.com;
    proxy_set_header Host $host;
    
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ .php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ .php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /.ht {
            #    deny  all;
            #}
        }
    
    
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    
        # HTTPS server
        #
        #server {
        #    listen       443 ssl;
        #    server_name  localhost;
    
        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;
    
        #    ssl_session_cache    shared:SSL:1m;
        #    ssl_session_timeout  5m;
    
        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers  on;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    }
    View Code

    下面是需要改的地方

     

    大体上就是upsteams 的name 与proxy_pass的值对应,(但要多加一个http://)

    然后 index的默认页面要和你的站点的默认页面对应

    最后,重启nginx后(nginx -s reload)再去访问http://localhost/

    简单的负载均衡就这样子实现了

    不过据说

    IIS 做负载均衡最好是用Windows Server 自带的组件NLB

    或者就是简单的iis自带的server frame

    所以这个nginx就是当玩玩了

    不过中小型的网站也是可以用这个的,

    最起码搭着简单啊

  • 相关阅读:
    ABAP学习(10):ALV显示之function alv
    ABAP学习(11):ALV显示之OO ALV使用示例
    ABAP学习(3):屏幕显示
    ABAP学习(6):ABAP GUI和开发工具
    ABAP学习(9):时间日期操作
    ABAP学习(8):操作EXCEL
    ABAP学习(2):控制语句
    ABAP学习(5):数据库语句
    ABAP学习(4):内表
    编程经验:高性能.NET WEB开发(1)http压缩
  • 原文地址:https://www.cnblogs.com/ptisagoodman/p/9479901.html
Copyright © 2011-2022 走看看