首页 > 系统相关 >nginx负载均衡配置

nginx负载均衡配置

时间:2024-12-16 23:55:55浏览次数:14  
标签:负载 http nginx api static location 均衡 gatewayserver

目录

一、简介

二、nginx下载

二、nginx配置

四、注意点

(1)/api与/api/的区别

(2)http://gatewayserver与http://gatewayserver/的区别


一、简介

Nginx(发音为 "engine-x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3代理服务器。Nginx以其高效率、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。它最初由俄罗斯程序员伊戈尔·西索夫(Igor Sysoev)开发,首次公开发布于2004年。

Nginx广泛应用于互联网,很多高流量网站如Netflix、GitHub、WordPress.com等都使用Nginx来处理其网络流量。此外,Nginx还提供了商业版本Nginx Plus,增加了更多高级特性和支持服务。

二、nginx下载

nginx下载地址:https://nginx.org/en/download.html

https://nginx.org/en/download.html

二、nginx配置

conf目录下的nginx.conf是nginx配置文件,打开文件进行修改

upstream fileserver{

}

配置文件处理服务器,可以配置多个这样的服务器,以实现负载均衡

 upstream fileserver {
        server 124.70.203.228:8089;
        # 可以添加更多服务器进行负载均衡
        # server 124.70.203.229:8089 backup;  # 备用服务器
   }  
 server {
        listen       80;
        server_name  file.51xuecheng.cn;
        #charset koi8-r;
        ssi on;
        ssi_silent_errors on;
        #access_log  logs/host.access.log  main;
        location /video { 
            proxy_pass   http://fileserver;
        }

        location /mediafiles {
            proxy_pass   http://fileserver;
        }
   }

若用户访问域名为:http://file.51xuecheng.cn/,且路径为/video或/mediafiles时,自动进行替换

http://file.51xuecheng.cn/video 实际访问的是http://124.70.203.228:8089/video

http://file.51xuecheng.cn/mediafiles实际访问的是http://124.70.203.228:8089/mediafiles

SSI 是一种简单的方式,通常用于动态生成网页内容,如果你需要在静态 HTML 文件中嵌入动态内容(如日期、时间、用户信息等),可以启用此功能,默认情况下,SSI 是关闭的 (off)。

ssi_silent_errors on;控制 SSI 错误报告的行为,当设置为 on 时,SSI 处理过程中发生的任何错误都不会显示给客户端浏览器,而是静默处理。这意味着即使 SSI 指令中有错误,用户也不会看到错误信息,页面将继续加载剩余部分。

四、注意点

(1)/api与/api/的区别

        location /api {
                proxy_pass http://gatewayserver;
        }
        location /api/ {
                proxy_pass http://gatewayserver;
        }

1.location /api { ... }

  • 匹配方式:前缀匹配(prefix match),即任何以 /api 开头的请求都会匹配到这个 location。
  • 匹配范围
    • /api
    • /api/
    • /api/v1/resource
    • /apiblah (注意:这也会被匹配,因为 /api 是前缀)

2. location /api/ { ... }

  • 匹配方式:同样为前缀匹配,但更具体地匹配以 /api/ 开头的请求。
  • 匹配范围
    • /api/
    • /api/v1/resource
    • 不会匹配 /api 或 /apiblah

(2)http://gatewayserver与http://gatewayserver/的区别

        location /api/ {
                proxy_pass http://gatewayserver/;
        }
        location /api/ {
                proxy_pass http://gatewayserver;
        }

3.带有斜杠的情况 (http://gatewayserver/)

  • 路径重写行为:Nginx 会将 /api/ 部分从请求 URI 中移除,并将剩余部分传递给上游服务器。
  • 示例
    • 请求 /api/path 将被转发为 http://gatewayserver/path

4.不带斜杠的情况 (http://gatewayserver)

  • 路径重写行为:Nginx 不会移除 /api/ 部分,而是将其原样附加到上游服务器的地址后面。
  • 示例
    • 请求 /api/path 将被转发为 http://gatewayserver/api/path

nginx可以配置多个server,不同的访问域名走不同的配置

    server {
        listen       80;
        server_name  www.51xuecheng.cn localhost;
        ssi on;
        ssi_silent_errors on;

        location / {
            root   E:\Users\31118\Desktop\学成在线项目—资料\xc-ui-pc-static-portal; #root权限,防止权限不足,无法访问文件夹
            index  index.html index.htm;
               #静态资源
        location /static/img/ {  
                alias  E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/img/;
        } 
        location /static/css/ {  
                alias   E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/css/;
        } 
        location /static/js/ {  
                alias   E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/js/;
        } 
        location /static/plugins/ {  
                alias   E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/plugins/;
                add_header Access-Control-Allow-Origin http://ucenter.51xuecheng.cn;  
                add_header Access-Control-Allow-Credentials true;  
                add_header Access-Control-Allow-Methods GET;
        } 
        location /plugins/ {  
                alias   E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/plugins/;
        } 

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

五、重启服务器

nginx.exe -s reload

标签:负载,http,nginx,api,static,location,均衡,gatewayserver
From: https://blog.csdn.net/weixin_65019617/article/details/144245440

相关文章

  • 配置二级域名与nginx代理
    看这里。你在哪里买的域名,就去域名管理控制台,查看域名详情添加解析记录填写你想要解析的二级域名,和对应的ip地址nginx已经代理了顶级域名,再增加一个二级域名代理,配置看这里:#顶级域名nginx代理配置server{listen443ssl;server_namelezhifu.c......
  • Spring Cloud 负载均衡配置 (@LoadBalanced)
    一、负载均衡目前是两种Ribbon和spring-cloud-loadbalancer-Ribbon已经闭源配置策略较多:轮询,随机,权重,自定义四种负载均衡方案配置方式yml注解-spring-cloud-loadbalancer属于springcloud,项目兼容性更好配置策略:更注重自定义(默认为轮询)配置方式注解......
  • Django Nginx+uwsgi 安装配置
    安装基础开发包Centos下安装步骤如下:yumgroupinstall"Developmenttools"yuminstallzlib-develbzip2-develpcre-developenssl-develncurses-develsqlite-develreadline-develtk-develCentOS自带Python2.4.3,但我们可以再安装Python2.7.5:cd~wgethttp://py......
  • 负载均衡技术
    四层负载均衡技术工作原理四层负载均衡工作在OSI模型的传输层(主要是TCP和UDP协议)。它根据数据包中的源IP地址、目标IP地址、源端口号和目标端口号等信息来进行负载分配。例如,当一个客户端向服务器发送TCP连接请求时,四层负载均衡器会截获这个请求,然后根据预先设定的算法(如轮......
  • Nginx、keepalived、SLB、F5
    Nginx功能特点高性能:Nginx采用事件驱动的异步非阻塞I/O模型,这使得它能够高效地处理大量并发连接。在处理高并发的HTTP请求时,相比传统的基于线程或进程的服务器,Nginx能够在相同的硬件资源下处理更多的请求,有效减少系统资源的占用,提高系统的吞吐量。例如,在一个有大量静态资源......
  • 负载均衡的实现方式有哪些
    一、硬件负载均衡器原理与特点硬件负载均衡器是一种专门设计的物理设备,它位于服务器集群的前端,通过复杂的硬件电路和芯片来处理流量分配。它能够以极高的速度解析传入的请求,根据预设的算法(如轮询、加权轮询、最少连接等)将请求转发到后端的服务器。这些设备具有强大的处理能力......
  • 负载均衡算法的原理及优缺点
    一、轮询(Round-Robin)算法原理轮询算法是最简单的负载均衡算法之一。按照顺序依次将请求分配给后端服务器列表中的每一个服务器。例如,假设有服务器A、B、C,第一个请求分配给A,第二个请求分配给B,第三个请求分配给C,然后第四个请求又回到A,如此循环。优点和缺点优点:实现简单,易......
  • SQL SERVER 2016 AlwaysOn 无域集群+负载均衡搭建与简测
    之前和很多群友聊天发现对2016的无域和负载均衡满心期待,毕竟可以简单搭建而且可以不适用第三方负载均衡器,SQL自己可以负载了。windows2016已经可以下载使用了,那么这回终于可以揭开令人憧憬向往的AlwaysOn2016负载均衡集群的神秘面纱了。本篇主要描述个人集群搭建中遇到的坑......
  • 从OpenAI大规模宕机谈起:微服务时代的“互相依赖”如何让我们在高负载下不堪一击?
    前不久(2024-12-11),OpenAI在一次看似平常的服务更新中遭遇了严重的系统宕机事件。这个历时数小时的事故让OpenAI全部系统服务集体“趴窝”。事后分析表明,引发这场连锁崩溃的“罪魁祸首”竟是一次旨在强化可观测性的Telemetry(遥测)服务上线。OpenAI对这个事故的复盘CaseStudy如下:htt......
  • 从OpenAI大规模宕机谈起:微服务时代的“互相依赖”如何让我们在高负载下不堪一击?
    前不久(2024-12-11),OpenAI在一次看似平常的服务更新中遭遇了严重的系统宕机事件。这个历时数小时的事故让OpenAI全部系统服务集体“趴窝”。事后分析表明,引发这场连锁崩溃的“罪魁祸首”竟是一次旨在强化可观测性的Telemetry(遥测)服务上线。OpenAI对这个事故的复盘CaseStudy如下:htt......