nginx_upsteam

nginx 反向代理负载均衡

使用 ngx_http_upstream_module 实现

本质上负载均衡都属于反向代理的范畴,流程:反向代理将客户的请求向后抛给upstream的服务器池。

可以理解:

1 代理实现了对客户端的 ip 报文进行再加工,然后往后传给后端进行处理。

2 upstream 汇总后端有多少服务器能处理前端代理服务器的请求,并提供相关负载均衡功能,延迟,监控检查等功能。

upstream www.myyf.xyz{
    server 192.168.6.60 weight=50;
    server 192.168.6.61 down;
    server 192.168.6.62 backup; # 备用服务器,当出现其他服务器繁忙或宕机时,才会请求该服务器进行工作。
    server 192.168.6.63 weight=100 fail_timeout=30s max_fails=2; # max_fails 请求失败的次数,当达到该值时,认为该服务器不用使用。

    ip_hash;  #使用hash算法为每个客户端计算一个对应处理的服务器,能保持客户端与服务端的 session 会话(该session一般保存在服务器上,.net中该session可以放入一些用户的信息等)。
}

upstream blog.myyf.xyz{
    server 192.168.6.70;
}

server {  
    listen       80;
    server_name  www.myyf.xyz myyf.xyz;  # 通过不同的域名访问不同的 upstream 池

# 只要 location 能匹配,都能选择不同的业务的负载均衡 location
/ { proxy_pass http://www.myyf.xyz; # 注意若location不带路径时,upstream池不要末尾加上 / ,如 http:/www.myyf.xyz/ proxy_set_header Host $host; proxy_set_header X-Real-IP; proxy_set_header X-Forwarded-For $remote_addr; } location /news/ { # 通过目录进行选择负载均衡 proxy_pass http://blog.myyf.xyz/news/; # 注意若location带有路径的情况下,需要在upsteam池最后加上 / proxy_set_header Host $host; proxy_set_header X-Real-IP $remtoe_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ blog.php { # 通过页面进行选择负载均衡 proxy_pass http://blog.myyf.xyz; proxy_set_header Host $host; proxy_set_header X-Real-IP $remtoe_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name blog.myyf.xyz; location / { proxy_pass http://blog.myyf.xyz/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

 

转载于:https://www.cnblogs.com/BoNuo/articles/10274729.html

你可能感兴趣的:(运维,后端,php)