您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
9-11 Web服务器的负载均衡、请求分发
发布时间:2020-10-18 13:29:43编辑:雪饮阅读()
7层负载均衡的nginx实现
基于7层负载均衡就是应用层的负载均衡,而为了方便仅仅在一个机器上模拟实现,所以在同一个配置文件上这里采取了以不同端口进行区分不同服务,这里采用了8080、8081、8082
那么我们用这几个端口做为负载均衡后端机器,而默认的80则做为负载均衡的负载分发器。那么我们访问时候访问的仍旧是默认的80服务,而对于后台的这几个后端机器的服务名因为这里用不上,所以用下划线代替了。那么我们需要定义一个upstream上游服务器集群,我们设定这个集群名称为imooc_cluster,则我们80端口就要定向(让该集群代理)到该集群上,而80默认的root和index这些配置则可以直接摞到location根匹配之外同location根匹配同级了。由于负载均衡后为了确认是生效了,所以每个后端机器我们给其响应头自定义一个标记REAL_SERVER
那么具体实现如:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
root html;
index index.html index.htm;
server_name www.website1.com;
location / {
proxy_pass http://imooc_cluster;
}
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 8080;
server_name _;
location / {
root html;
index index.html index.htm;
add_header REAL_SERVER 8080;
}
}
server {
listen 8081;
server_name _;
location / {
root html;
index index.html index.htm;
add_header REAL_SERVER 8081;
}
}
server {
listen 8082;
server_name _;
location / {
root html;
index index.html index.htm;
add_header REAL_SERVER 8082;
}
}
upstream imooc_cluster
{
server 192.168.108.128:8080;
server 192.168.108.128:8081;
server 192.168.108.128:8082;
}
}
实验效果:
经过配置后我们多次访问80服务可以看到我们自定义的后端集群REAL_SERVER标记是不断在变化的,则该负载均衡配置完成。
关键字词:nginx,负载均衡,分发,php,ip_hash,权重
上一篇:9-8 动态语言层的并发处理视频