在进行负载均衡的配置前,需要先理解下面几个概念
正向代理
A访问不了服务B,而服务器C可以访问服务器B,A可以访问C,那么A先访问C,再通过C去访问B,C即为代理服务器,这种方式称为正向代理,特点是明确知道A要访问哪一个网站。
反向代理
A要访问某个服务B,而B服务需要通过C服务器,B服务可能有多台服务器,C通过某种策略将请求转发给B服务器集群中的一台,而A并不知道自己访问的是哪一个服务器,这种方式称为反向代理。
负载均衡
在反向代理的前提下,A要访问B服务,而B服务器有多台,通过代理服务器C将请求转发给不同的服务器,使得单独一台服务器的负担减轻(B服务器集群大致均分请求,使得服务器不因高并发而奔溃),这种方式成为负载均衡。
那么,如何在Nginx中配置负载均衡呢?
方法很简单,只需在配置文件中增加如下代码
worker_processes 1;
events {
worker_connections 1024;
}
http{
#服务器列表,helloProject可以自定义名称
upstream helloProject{
#如果开启ip_hash,则会根据用户之前的访问映射到对应服务器
#ip_hash;
server 123.45.678.123:80;
server 123.45.678.124:80;
#如果使用weight字段,则会赋予不同权重
# server 123.45.678.124:80 weight=2;
}
#当访问8080接口时,将请求均衡转发到helloProject列表中的一台服务器
server{
listen 8080;
location / {
proxy_pass http://helloProject;
}
}
}