利用Nginx实现简易负载均衡 2015-10-16

作者:王松_Striker
邮箱:song@secbox.cn
团队:安全盒子团队

基本思路如下:

比如我们有三个服务器:

其中:
130.251是反向代理转发服务器
130.251和130.238分别是负载服务器
Mysql服务器没有标出来,
为方便区分,我们先把1号负载的首页写成111111111

1548994390

2号负载的首页写成222222

196567237

然后我们现在控制130.251, 把nginx配置文件里面原本的server{}全部删掉, 在http{}里面加上:

Upstream myweb1{
#定义地址池
Server 192.168.130.238
Server 192.168.130.154
}
server {
        listen       80;
        server_name  www.sohu.com;
#使用www.sohu.com访问
location / {
proxy_pass http://myweb1;
#使用地址池
proxy_set_header Host $host;
#利用HOST变量向后端服务器传递需要解析的客户端访问的域名(传递域名)
proxy_set_header X-Forwarded-For $remote_addr;
#$remote_addr 把客户端真实IP赋予X-Forwarded-For。后端服务器才能获取真实的客户端IP。以便记录日志,要不日志中记录的访问信息都是负载服务器,而不是客户端(传递IP)
}
}

保存之后重启nginx即可, 我们来访问www.sohu.com试试,

184893354

刷新一下

1309741598