1.选择两台
一台做代理(192.168.121.13)
二台做服务器 (192.168.121.9)
(192.168.121.13)
2.在nginx.conf
http {
upstream loadbance {
server 192.168.121.9 weight=1 max_fails=2 fail_timeout=20s;
server 192.168.121.131 weight=1 max_fails=2 fail_timeout=20s;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://loadbance;
proxy_set_header X-Real-IP $remote_addr;
4.在浏览器下输入192.168.121.13/index.html
看到192.168.121.9zhm2.test.com
192.168.121.131zhm3.test.com
那反向代理就成功了。
然后去各个服务器 tail -f /usr/local/nginx/logs/access.log
会看到真正的客户端机器ip,而不是代理服务器的ip。
5.在把其中服务器 9 service nginx stop
在去192.168.121.13去刷页面,就只会一直刷新 13
重新再把nginx启动起来,又可以交替刷新,可以用来验证服务器是否健康开启。
6.如果在upstream loadbance {
ip_hash
server 192.168.121.9 weight=1 max_fails=2 fail_timeout=20s;
server 192.168.121.131 weight=1 max_fails=2 fail_timeout=20s;
再去刷页面,会不停的刷新 9 这台服务器的页面。
如果你把131 服务器的权重 改成2,那么ip_hash就会一直刷新131这台。
因为权重越大 几率越高。
7.页面缓存
先创建个/usr/local/nginx/cache/loadbance 放置缓存目录
在nginx.conf
proxy_cache_path /usr/local/nginx/cache/loadbance levels=1:2 keys_zone=load
bance:20m max_size=1g;
server {
add_header X-Via $server_addr;
add_header X-Cache $upstream_cache_status;
location / {
proxy_cache_valid 200 10m;
然后刷新页面,在去/usr/local/nginx/cache/loadbance查看,会有缓存。
缓存就成功了。