Nginx负载均衡的原理图:
网站内容分别部署在apache1和apache2上,在Nginx上进行负载均衡设置,当用户想访问apache1和apache2服务器上的内容时,只需要访问Nginx服务器,Nginx会将请求分别转发到web服务器apache1和apache2上,web服务器处理请求后,将请求的内容发送到Nginx上,Nginx再将内容返回给用户那里。
这个转发过程,对于用户来说是感受不到的,既能保护web服务器安全,又能提高web服务器的性能。
负载均衡设置方式:
如图,有一台Nginx服务器(192.168.1.100)和两台web服务器(192.168.1.101/192.168.1.102)
在两台apache服务器上修改主页文件内容分别为:
This is A.
This is B.
只需在Nginx修改配置文件nginx.conf如下即可:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream web1 {
server 192.168.1.101:80 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.102:80 weight=1 max_fails=2 fail_timeout=30s;
}
#web1 负载模块名称(自定义)。
# weight 权重,值越大优先级越高。
#max_fails 最大失败次数,若连续连接该主机两次均失败,则剔除出负载列表。
#fail_timeout 请求失败等待时间。
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://web1;
root html;
index index.html index.htm;
}
}
}
#proxy_pass http://web1; 启用负载模块。
保存退出后重启nginx服务。
访问192.168.1.100,如果分别会显示两台apache服务器上的内容,则负载均衡搭建成功。