在 Nginx 中配置两个 server,分别代理 Web 服务 和 Minio 服务,并且使用相同的 location / 路径来进行负载均衡,可以按照以下示例配置:
假设:
● Web 服务 地址:http://172.31.51.170:8080 和 http://172.31.51.171:8080
● Minio 服务 地址:http://172.31.51.172:9000 和 http://172.31.51.173:9000
Nginx 配置:
http {
upstream web_backend {
# Web 服务的负载均衡
server 172.31.51.170:8080;
server 172.31.51.171:8080;
}
upstream minio_backend {
# Minio 服务的负载均衡
server 172.31.51.172:9000;
server 172.31.51.173:9000;
}
server {
listen 8066;
server_name smartgate;
# 代理 Web 服务
location / {
proxy_pass http://web_backend; # 转发到 Web 服务负载均衡池
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
}
}
server {
listen 9000;
server_name smartgate;
# 代理 Minio 服务
location / {
proxy_pass http://minio_backend; # 转发到 Minio 服务负载均衡池
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
}
}
}
解析:
- 负载均衡:
○ 使用 upstream 定义了两个负载均衡池:一个用于 Web 服务 (web_backend),另一个用于 Minio 服务 (minio_backend)。
○ server 指令指定了 Web 和 Minio 服务的后端服务器地址(可以是多个,Nginx 会在这些服务器之间进行轮询分发)。 - Web 服务代理:
○ 在第一个 server 块中,监听端口 8066,并通过 location / 配置将请求转发到 Web 服务的负载均衡池。
○ proxy_pass http://web_backend; 会将请求代理到 web_backend,即 Web 服务的两个实例。
○ proxy_set_header 指令用来设置请求头部,确保客户端的 IP 等信息可以正确传递。 - Minio 服务代理:
○ 第二个 server 块监听端口 9000,并通过 location / 配置将请求转发到 Minio 服务的负载均衡池。
○ proxy_pass http://minio_backend; 会将请求代理到 minio_backend,即 Minio 服务的两个实例。 - 端口监听:
○ 第一个 server 块处理 8066 端口的请求,代理 Web 服务。
○ 第二个 server 块处理 9000 端口的请求,代理 Minio 服务。
步骤: - 配置负载均衡池:
○ 在 upstream 中指定 Web 和 Minio 服务的后端服务器。 - 配置反向代理:
○ 使用 location / 来将请求通过 proxy_pass 转发到相应的服务。 - 重载 Nginx 配置:
修改完配置文件后,执行以下命令来重载 Nginx 配置:
sudo nginx -t # 检查配置是否有误
sudo systemctl reload nginx # 重载配置
总结:
通过这种配置,您可以:
● 使用不同的端口(如 8066 和 9000)来分别访问 Web 服务和 Minio 服务。
● 使用 Nginx 的负载均衡功能将流量分发到 Web 服务和 Minio 服务的多个实例。

1925

被折叠的 条评论
为什么被折叠?



