#user  nobody;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
worker_processes auto;
worker_cpu_affinity auto;
#worker_processes 工作进程数
# worker_connections 单个工作进程可以允许同时建立外部连接的数量


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;

    
    # 轮询策略 到应用服务器的请求以round-robin/轮询的方式被分发
    upstream nginx{  
        server 192.168.0.100:8080 weight=1 fail_timeout=20s;
        server 192.168.0.101:8080 weight=1 fail_timeout=20s;
    }

    #ip hash 使用hash算法来决定下一个请求要选择哪个服务器
    upstream nginx {
            server 192.168.0.100:8080;
            server 192.168.0.101:8080 backup;
            ip_hash;
        }
    
    # 最少连接(least_conn)下一个请求将被分派到活动连接数量最少的服务器
    upstream nginx {
        server 192.168.0.100:8080;
        server 192.168.0.101:8080;
        server 192.168.0.102:8080;
            least_conn;
        }
    # 使用fair负载策略模块
    upstream nginx {
        fair;
        server 192.168.0.100:8080;
        server 192.168.0.101:8080;
        server 192.168.0.102:8080;
    }
    # url_hash 按请求url的hash结果来分配请求,使每个url定向到同一个后端服务器,服务器做缓存时比较有效。
    upstream nginx {
        server 192.168.0.100:8080;
        server 192.168.0.101:8080;
        server 192.168.0.102:8080;
        hash $request_uri;
    }
    #weight=1; (weight 默认为1.weight越大,负载的权重就越大)
    #down; (down 表示单前的server暂时不参与负载)
    #backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
    #max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
    #fail_timeout:max_fails次失败后,暂停的时间
    
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen 80;
        listen 443 ssl;
        server_name  192.168.0.11;
         ssl_certificate /usr/local/nginx/conf/10.0.0.11.pem;
        ssl_certificate_key /usr/local/nginx/conf/10.0.0.11.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols  SSLv2 SSLv3 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers  on;

        #sub_filter_once off;
        #sub_filter '<head>' '<head><meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">';

        location / {
            proxy_pass  http://nginx/;
            client_max_body_size   400m;
            proxy_set_header       Host             $host:$server_port;
            proxy_set_header       X-Real-IP        $remote_addr;
            proxy_set_header       X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_connect_timeout  60;
            proxy_read_timeout     60;
            proxy_send_timeout     60;
        }
    }
}
 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐