Nginx_反向代理配置+负载均衡配置

反向代理

概念介绍

正向代理:

  • 代理客户端
  • 例如用户无法访问外网而代理服务器能访问外网,则用户可通过访问代理服务器从而访问外网。

反向代理:

  • 代理服务端。
  • 代理服务器(如Nginx服务器)接收到来自客户端的请求后将请求分发到应用服务器。在这个过程中,代理服务器默认以轮询的方式代理,而应用服务器的ip和端口号对客户端是透明的。

反向代理的应用场景:

  • 代理业务服务服务器
  • 代理文件存储服务器

简单配置

反向代理需要在配置文件的http块中配置,如下所示:

txt 复制代码
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    
    # upstearm块用于设置反向代理,后面跟着代理名称(可自定义)
    #文件服务
    upstream fileserver{
    server 192.168.101.65:9000;
    }
    
    #后台网关
    upstream gatewayserver{
    server 127.0.0.1:63010 ;
    server 127.0.0.1:63011 ;
  }
   
    server {
       
        listen       80;
	   #虚拟主机的域名
        server_name  www.yyds.cn localhost;     
        
	    #配置反向代理的url路径, 当输入域名/api/时会请求http://gatewayserver/处的服务
        location /api/ {
		# 此处名字要与upstream处设置的名字相同
                proxy_pass http://gatewayserver/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

负载均衡

概念介绍

在集群化部署时,由于一个软件应用或服务被部署到多台应用服务器上,所以需要判断将客户端请求分发给哪台服务器处理。而负载均衡的目的就是对客户端请求进行合理分发。

简单配置

在配置文件的upstream块中进行配置

txt 复制代码
#后台网关
    upstream gatewayserver{
    # weight设置权重,服务器的权重越大分配到的请求越多
    server 127.0.0.1:63010 weight=10;
    server 127.0.0.1:63011 weight=5;
    # down,该台服务器不提供服务
    server 127.0.0.1:63011 weight=5 down;
    # backup, 备用服务器,在其他服务器出现故障时提供服务
    server 127.0.0.1:63011 weight=5 backup;
    }   

其他配置

  • ip_hash: 判断来源的的ip地址,相同的ip会下发到相同的服务器。但是若用户的ip地址变化则无法保持会话。比如用户在使用手机时从一个ip地址变换到另一个ip地址。
  • least_conn: 将用户请求分配到接收请求次数最少的服务器
  • fair: 根据后端服务器的响应时间转发请求
  • url_hash: 定向流量转发。根据用户访问的url转发到相应服务器。常用于访问固定资源。如根据url定位到用户要访问的文件在哪台服务器上。
相关推荐
飞鸟真人1 小时前
亿级用户IM系统 之 DPVS Maglev动态权重(七、DPVS Maglev 动态负载调度)
负载均衡·dpvs·亿级im系统·动态负载均衡·maglev·动态maglev
xixiaoyunya1 小时前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js
SendTomo11 小时前
【技术交流】从0到1构建一个汉字学习平台:汉字吧(hanzi8.com)的技术架构猜想
redis·mysql·nginx·php·个人开发
滨哥GPT19 小时前
Codex新增文件上传后为什么小文件正常,大文件总失败?Multipart、Body Limit与Nginx限制排查
nginx·ai编程·文件上传·codex·multipart
Jae den19 小时前
负载均衡到底解决什么问题?
运维·负载均衡
CDN3601 天前
CDN 回源负载均衡实战:解决多源站回源流量不均、源站单点故障,出海业务配置指南
运维·负载均衡
come112341 天前
Nginx `location` 配置说明(后端开发版)
运维·nginx
PHP实战开发录2 天前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
「、皓子~2 天前
海狸IM 2.1 私有化部署从零到一:中间件、微服务与 Nginx 全流程
nginx·flutter·微服务·中间件·开源软件·im·海狸im
徐小黑ACG2 天前
nginx配置文件
linux·服务器·nginx