Nginx编译安装 实现反向代理-负载均衡

编译安装

源码编译安装详细步骤此处不在赘述,一般步骤为:

  1. 确保系统安装了编译工具,如gcc、make。及一些库文件,如PCRE、openSSL。
  2. 下载nginx源代码。
  3. 配置编译选择,运行 ./configure 指定安装路径以及需要的模块和选项。
  4. 编译
  5. 安装

反向代理

使用 Nginx 作为反向代理是将客户端请求转发给一个或多个后端服务器的过程。反向代理隐藏了后端服务器的实际地址和细节,使得客户端无法直接访问后端服务器。nginx在做反向代理服务器的前提下,可以使用负载均衡来缓解单个服务器的压力,避免宕机的情况。

nginx反向代理的写法 在nginx.conf文件中 http中的server下 ,使用location。

下面的配置就是反向代理 ,只要我们访问http://a 就会指向http://192.168.84.135/a 的

访问http://t 则会指向http://192.168.84.135/

复制代码
http {

    include       mime.types;

    default_type  application/octet-stream;



    server {

    listen       443 ssl;

    server_name  localhost;

        

    location /a {
        
        #将请求转到了 192.168.84.135 ,80端口,是一个vms中的apache服务 
         proxy_pass http://192.168.84.135:80;

        }
    location /t {
        
        #将请求转到了 192.168.84.135 ,81端口,是一个vms中的tomcat服务 
         proxy_pass http://192.168.84.135:81;

        }

}

负载均衡

写负载均衡,使用upstream,还是在nginx.conf文件中的http下,与serve平级

复制代码
http {

    include       mime.types;

    default_type  application/octet-stream;

    upstream loadbalancing{
              #访问load balancing的请求会被随机分配到下面的服务器的IP  weight表权重
           sever  192.168.84.135:80   weight= 1;
           server 192.168.84.135:81   weight= ;     
        }

    server {

    listen       443 ssl;

    server_name  localhost;

        

    location /a {
        
        #将请求转到了 192.168.84.135 ,80端口,是一个vms中的apache服务 
         
    proxy_pass http://loadbalancing;

        }
 

}

常见的负载均衡算法

补充一下nginx常用的一些负载均衡的算法

  1. 轮询(Round Robin):

    • 这是最简单的算法,将请求依次分配给每个后端服务器,循环进行。每个请求都会被发送到下一个服务器,直到所有服务器都收到了相同数量的请求。
  2. IP Hash:

    • 根据客户端的 IP 地址计算一个 hash 值,然后使用该值来确定将请求发送到哪个后端服务器。这确保了相同的客户端 IP 总是被分配到同一台后端服务器,有助于维护会话状态。
  3. Least Connections:

    • 请求将被发送到当前连接数最少的服务器。这有助于避免将请求发送到负载较高的服务器,以确保更平均地分配负载。
  4. 权重轮询(Weighted Round Robin):

    • 每个服务器被分配一个权重值,根据权重来决定分配请求的频率。具有更高权重的服务器将收到更多的请求,实现更灵活的负载均衡。
  5. 权重最小连接数(Weighted Least Connections):

    • 类似于Least Connections,但是每个服务器的连接数会乘以一个权重值,从而影响负载均衡的决策。
  6. 基于响应时间的负载均衡:

    • 根据后端服务器的响应时间动态地调整权重,以确保响应时间较短的服务器获得更多的请求。
相关推荐
路溪非溪9 小时前
Linux下Shell脚本基础知识(二)
linux·运维·服务器
guo_wen_qiang10 小时前
云服务器kibana环境搭建
linux·运维·服务器
霞姐聊IT11 小时前
服务器RAS软件开发经验分享——从Linux、BMC与BIOS三个层面谈工程实践(二)
linux·服务器
智商偏低11 小时前
【无标题】
服务器·数据库·oracle
几何心凉11 小时前
嵌入式Linux系统开发21天速成:从基础开发到综合项目实战
linux·运维·服务器
Tairitsu_H11 小时前
[Linux系统] 一切皆文件 | 缓冲区机制 | FILE 结构
linux·运维·服务器·文件·缓冲区
浪淘沙jkp11 小时前
ComfyUI全方位指南(4)LTX-2.5 ComfyUI文生视频尝鲜,显卡会OOM吗?
ubuntu·ai作画·文心一言·gpu算力·ltx
涉密IT资质笔记11 小时前
涉密人员脱密期管理规范:期限分级模型、就业限制边界与违规认定标准
java·服务器·前端·网络·数据库
honsor11 小时前
PoE温湿度传感器:一根网线供电+通信,即插即用,机房/配电室/仓库温湿度监测首选
运维·服务器·网络·数据库·人工智能·安全
自强的小白12 小时前
jvm面试(Gc)
服务器·jvm·面试