nginx 配置负载

# 全局配置部分,可设置一些Nginx运行的通用参数,这里暂不详细配置
# user  nginx;
# worker_processes  auto;

# 定义错误日志的路径和级别,可根据实际情况调整
error_log /var/log/nginx/error.log;
# 定义Nginx进程的PID文件路径
pid /var/run/nginx.pid;

events {
    # 设置每个worker进程可以同时处理的最大连接数,可根据服务器性能调整
    worker_connections 1024;
}

http {
    # 设定MIME类型,Nginx默认已经有很多配置,一般无需修改
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    # 配置日志格式,这里定义了一种名为'main'的日志格式,包含常见的请求信息
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    # 访问日志的路径,按照定义的'main'日志格式记录访问信息
    access_log  /var/log/nginx/access.log main;

    # 设置客户端请求头缓冲区大小等参数,可根据实际情况优化
    client_header_buffer_size 1k;
    large_client_header_buffers 4 4k;

    # 开启gzip压缩,用于减少传输的数据量,提升网页加载速度(可根据情况选择开启或关闭)
    gzip  on;
    gzip_min_size  1k;
    gzip_buffers    4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types      text/plain text/css application/json application/javascript text/xml application/xml;

    # 定义后端服务器组及负载均衡相关配置
    upstream backend_pool {
        # 轮询算法示例(默认就是轮询)
        server 192.168.1.100:80;
        server 192.168.1.101:80;

        # 加权轮询算法示例,这里假设192.168.1.100性能是192.168.1.101的两倍
       # server 192.168.1.100:80 weight = 2;
        #server 192.168.1.101:80 weight = 1;

        # IP哈希算法示例,将来自同一客户端IP的请求固定发往同一后端服务器
        # ip_hash;
        # server 192.168.1.100:80;
        # server 192.168.1.101:80;

        # 健康检查配置示例(使用max_fails和fail_timeout),以下设置表示在30秒内若某个服务器失败3次,则在30秒内认为它不可用
        #server  127.0.0.1:8761 max_fails=3 fail_timeout=30s;
        #server  127.0.0.1:8762 max_fails=3 fail_timeout=30s;

        # 健康检查配置示例(如果是Nginx Plus版本,可使用更高级的health_check指令)
        # health_check interval = 5s;
        # health_check requests = 2;
        # health_check timeout = 1s;
    }

    server {
        listen       80;
        server_name  your_domain.com;

        location /api {
            proxy_pass http://backend_pool;
            proxy_set_headers Host $host;
            proxy_set_headers X-Real-IP $remote_addr;
            proxy_set_headers X-Forwarded-For $proxy_add_x_forwarded_for;
            # 设置客户端连接后端服务器的超时时间,单位为秒,可根据实际情况调整
            proxy_connect_timeout 30;
            # 设置后端服务器响应的超时时间,单位为秒,可根据实际情况调整
            proxy_read_timeout 60;
            # 设置后端服务器向客户端发送响应的超时时间,单位为秒,可根据实际情况调整
            proxy_send_timeout 60;
        }

        # 配置处理静态文件的路径,例如图片、CSS、JavaScript文件等,这里假设静态文件存放在 /var/www/html/static目录下
        location /static/ {
            root /var/www/html;
            expires 30d;
        }

        # 配置错误页面,当出现相应的HTTP状态码时,返回对应的自定义页面(页面需提前准备好)
        error_page 404 /404.html;
        location = /404.html {
            root /var/www/html;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /var/www/html;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。