Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它可以作为负载均衡器来分发请求到多个后端服务器,从而实现高可用性、扩展性和负载均衡。
以下是一个简单的Nginx负载均衡配置的概述和示例:
负载均衡方法
Nginx支持多种负载均衡方法,包括:
- 轮询(round-robin):默认方法,按照后端服务器的顺序依次分配请求。
- 权重(weighted):指定每台后端服务器的权重,按照权重分配请求。
- IP哈希(ip_hash):根据客户端IP的哈希值来分配请求,确保来自同一IP的请求始终被发送到同一台后端服务器。
- 最少连接(least_conn):将请求发送到当前连接数最少的后端服务器。
设置配置文件,linux服务器上ip端口,本地ip端口
设置代理像后端发请求api/nginx/hello接口的地址
配置application
server:
port: 11001
logging:
level:
com.wnhz: debug
nignx的controller层
package com.wnhz.nginx.controller;
import com.wnhz.nginx.result.HttpResp;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/nginx")
public class NginxController {
@Value("${server.port}")
private int port;
@GetMapping("hello")
public HttpResp hello(){
return HttpResp.success("当前服务器端口:"+port);
}
}