一、nginx的反向代理
1.代理和反向代理的概念
代理相当于是代购,代替客户端完成客户端无法完成的任务(squid)
反向代理相当于厂商代理,代替服务器端接收用户的请求,完成请求处理的工作(nginx、squid)
2.实验:
(1)在另外一台服务器上安装apache,并编写测试页面
(2)在nginx服务器的nginx配置文件中(server块中)添加:
location / {
proxy_pass http://10.0.0.7:80;
#apache服务器的ip地址
#重启nginx服务访问测试
二、负载均衡(负载调度)
1.负载均衡load balance的意思就是将任务分摊到多个操作单元上执行,
2.实验:两台web服务器,一台nginx服务器;通过nginx的反向代理和负载均衡实现用户访问nginx时分摊到两台web服务器上
(1)使用默认的rr轮训算法,修改nginx主配置文件
#在http块中添加:
upstream blog {
server 10.0.0.101:80;
server 10.0.0.7:80;
}
(2)修改location / 标签,注释掉原有内容,添加如下两行:
location / {
proxy_pass http://blog;
#添加反向代理,代理地址填写upstream声明的名字
proxy_ser_header Host $host;
#重写请求头部,保证网站所有页面都可访问成功
}
(3)在两台web服务器上写测试页面,为了测试负载,编写不同的html页面(为了验证实验,不能应用于生成环境)
#10.0.0.101
welcome to web101.
#10.0.0.7
welcome to web07.
#测试
curl 10.0.0.102