「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战」 nginx七层负载均衡配置文件案例详解
前几篇文章介绍了nginx的负载均衡,以及负载均衡的一些策略。及四层负载均衡和七层负载均衡的基本概述。 本篇将对之前对七层负载均衡的概述来做一个案例分享。分别将七层负载均衡的这几种情况根据配置文件分别来介绍一下。也算是这次对整个nginx的这几篇文章的一个总结吧。希望各位大佬可以针对写的不对的地方提出来,我会修正的。谢谢。
案例一:对所有请求实现一般轮询规则的负载均衡
upstream backend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
server 192.168.1.100:9003;
}
server {
listen 8083;
server_name localhost;
location /{
proxy_pass http://backend;
}
}
案例二:对所有请求实现加权轮询规则的负载均衡
upstream backend{
server 192.168.1.100:9001 weight=7;
server 192.168.1.100:9002 weight=5;
server 192.168.1.100:9003 weight=3;
}
server {
listen 8083;
server_name localhost;
location /{
proxy_pass http://backend;
}
}
案例三:对特定资源实现负载均衡
upstream videobackend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
}
upstream filebackend{
server 192.168.1.100:9003;
server 192.168.1.100:9004;
}
server {
listen 8084;
server_name localhost;
location /video/ {
proxy_pass http://videobackend;
}
location /file/ {
proxy_pass http://filebackend;
}
}
案例四:对不同域名实现负载均衡
upstream itcastbackend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
}
upstream itheimabackend{
server 192.168.1.100:9003;
server 192.168.1.100:9004;
}
server {
listen 8085;
server_name www.itcast.cn;
location / {
proxy_pass http://itcastbackend;
}
}
server {
listen 8086;
server_name www.itheima.cn;
location / {
proxy_pass http://itheimabackend;
}
}
案例五:实现带有URL重写的负载均衡
upstream backend{
server 192.168.1.100:9001;
server 192.168.1.100:9002;
server 192.168.1.100:9003;
}
server {
listen 80;
server_name localhost;
location /file/ {
rewrite ^(/file/.*) /server/$1 last;
}
location / {
proxy_pass http://backend;
}
}
以上这几个案例就是我对七层负载均衡的一个介绍,希望大家看完针对有写的不好、不对的地方可以提出宝贵建议。谢谢。