• Nginx常见配置


    负载均衡配置

    配置语法

    upstream backend  {
      server backend1.example.com weight=5;
      server backend2.example.com:8080;
      server unix:/tmp/backend3;
    }
     
    server {
      location / {
        proxy_pass  http://backend;
      }
    }
    

    配置实例

    http {
      upstream myproject {
        server 127.0.0.1:8000 weight=3;
        server 127.0.0.1:8001 max_fails=100 fail_timeout=30000; # 允许请求失败的次数;经过max_fails失败后,服务暂停的时间;
        server 127.0.0.1:8002 backup; # 预留的备份服务器(当正在使用的后端服务异常时,启动预留服务)
        server 127.0.0.1:8003 down; # 当前server暂时不参与负载均衡
        server 127.0.0.1:8004 max_conns=100; # 限制最大的接受的连接数
        keepalive 600; # 配置到后端服务器的长连接(需要配合server中的 proxy_http_version 和 proxy_set_header 配置才能生效)
      }
      
      server {
        listen 80;
        server_name www.domain.com;
        location / {
          proxy_pass http://myproject;
          proxy_http_version 1.1; # 配置支持长连接
          proxy_set_header Connection ""; # 配置支持长连接
        }
      }
    }
    

    调度算法

    算法 说明
    加权轮询 weight值越大,访问到的几率越高
    ip_hash 每个请求按访问IP的hash结果分配,来自同一个IP的请求会访问固定的服务器
    least_conn 最少链接数,哪个机器的连接数少就分配到那个机器上
    url_hash 按照访问的URL的hash分配请求,每个url定向到同一个服务器
    hash关键数值 hash自定义的key

    流控配置

    todo

    访问限制

    todo

    性能优化

    TCP_NODELAY 和 TCP_NOPUSH的解释

    # 工作进程等于核心数
    worker_processes  2;
    # CPU亲缘性绑定
    worker_cpu_affinity 01 10;
    
    # 配置Nginx worker进程最大打开文件数
    worker_rlimit_nofile 65535;
    
    events {
      #使用epoll模型
      use epoll;
      #单个进程允许的客户端最大连接数
      worker_connections  20480;
    }
    
    http {
      include       mime.types;
      default_type  application/octet-stream;
      sendfile        on;  # sendfile系统调用在两个文件描述符之间直接传递数据(完全在内核中操作),从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被称之为零拷贝。
      tcp_nopush     on;
    
      keepalive_timeout  120;
    
      gzip  off;
      access_log off;   #日志功能要关闭
      
      client_header_buffer_size 32k;
      large_client_header_buffers 4 32k;
    }
    
  • 相关阅读:
    C# 动态添加用户控件
    临时记载C#中给DataGrid添加甘特图效果
    xp去掉快捷方式上的箭头
    wpf DataGrid的操作
    一路向前的算法
    WPF 解决WebBrowser控件汉字出现乱码的一种方案
    在CentOS 7 上安装 WordExpress
    创建Chrome插件
    开始PHP和JAVA
    failedtoloadcbsonextension
  • 原文地址:https://www.cnblogs.com/CSunShine/p/11529345.html
Copyright © 2020-2023  润新知