Nginx —— 负载均衡

Nginx 实现负载均衡,Nginx 是个反向代理网关,可以将请求分发到不同的负载服务器,支持大量的链接。

配置文件:

user  www-data;
worker_processes  2;  # 进程数
worker_cpu_affinity 00000001 00000010;
pid        /var/run/nginx.pid;
error_log  /var/log/nginx/error.log warn;

events {
    use epoll;
    worker_connections  1024;  # 每个进程允许的最大链接数
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    client_max_body_size 500m;

    resolver 114.114.114.114;
    
    log_format main '$time_local $remote_addr $remote_user $status '
                    '$request_time $request [$body_bytes_sent/$bytes_sent] '
                    '"$http_user_agent" "$http_referer" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;


    sendfile            on;
    tcp_nopush          on;
    keepalive_timeout   65;
    gzip                on;

    
   # 负载 1:1 分发请求
   upstream serverCluster{
       server 172.31.5.3:8007 weight=1;
       server 172.31.37.173:8006 weight=1; 
   }

    server {
        listen 80;
        server_name  localhost;
        charset utf-8;

        location / {
            proxy_pass http://serverCluster;
            proxy_connect_timeout 1000;
            proxy_send_timeout 1000;
            proxy_read_timeout 1000;
        }

    }
}

问题:nginx访问出现504 Gateway Time-out

    server {
        listen 8888;
        location / {
            proxy_pass http://pdfs;
            proxy_connect_timeout   18000;
            proxy_send_timeout      18000;
            proxy_read_timeout      18000;
        }
    }

proxy_connect_timeout 1800s;#nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 1800s;#后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 1800s;#连接成功后,后端服务器响应时间(代理接收超时)

这三个配置很重要,,,如果请求的服务器很长时间不返回,设置长一点,可以保证不是 nginx报超时。

参考链接:https://www.cnblogs.com/linjiqin/p/11858127.html

posted @ 2022-05-06 17:23  pythoner_wl  阅读(65)  评论(0编辑  收藏  举报