• nginx负载均衡二:配置


    配置方法一(可用):

    upstream  tomcatserver1  {
        server 192.168.70.170 weight=3;  
        server 192.168.70.172;
    server 192.168.70.173 down;
    server 192.168.70.174;
    server 192.168.70.175 backup; } server { listen
    80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcatserver1
    ;   index index.html index.htm; } }

     通过以上配置,便可以实现,在访问192.168.70.169这个网站时,由于配置了proxy_pass地址,所有请求都会先通过nginx反向代理服务器,在服务器将请求转发给目的主机时,读取upstream为 tomcatsever1的地址,读取分发策略,配置tomcat1权重为3,所以nginx会将大部分请求发送给49服务器上的tomcat1,也就是192.168.70.170;较少部分给tomcat2来实现有条件的负载均衡,当然这个条件就是服务器1、2的硬件指数处理请求能力。

    1)down:表示单前的server暂时不参与负载

    2)Weight:默认为1.weight越大,负载的权重就越大。

    3)max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

    4)fail_timeout:max_fails 次失败后,暂停的时间。

    5)Backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

    配置方法二(可用):

    #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  1024;
    }
    
    
    
    
    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;
    
      // 位置1:upstream
        upstream  192.168.70.169  {
          server   192.168.70.170;
          server   192.168.70.172;
          #ip_hash;
        }
    
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
            
                root   html;
                index  index.html index.htm index.php;
                
                
            }
    
            #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;
                fastcgi_param  SCRIPT_FILENAME  /$document_root$fastcgi_script_name;
                
           //位置2:proxy_pass 
                proxy_pass        http://192.168.70.169;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            
    
                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
  • 相关阅读:
    BERT在语义相似度计算中的应用(一)
    Debian 10.6 安装 oracle 19.3c 数据库database软件:传统的zip安装包
    Spring应用消费REST服务
    使用Spring Data自动创建repository实现及自动定义API实现
    SpringBoot中使用Spring profile进行配置【谨慎使用,参见SpringBoot 2.4.0发布文档】
    为SpringBoot声明配置属性的元数据
    【转】Winform中textBox通过正则表达式限制只能输入数字且是两位小数
    【转】WinForm中TextBox只能输入数字
    【转】C# winform窗体间传值(使用委托或事件)
    【转】Visual Studio2019报错/plugin.vs.js,行:1074,错误:缺少标识符、字符串或数字的解决方法
  • 原文地址:https://www.cnblogs.com/wesky/p/9530046.html
Copyright © 2020-2023  润新知