土豪绕道,土豪可以使用共享带宽、多核CPU、高内存、云盘等……
本文主要讨论如何充分使用多个性能低下与主机。为什么买配置低的?因为作者穷啊,考虑到性价比
双11主机上搞活动,云主机特别便宜,入手了10台入门云主机,每台10台1核1G2M,50G硬盘的配置,10台就有10个独立ip,20M带宽,500G硬盘,想想20M带宽可不便宜,就想着充分利用这些带宽

下面是使用nginx负载均衡搭建静态服务器的配置,大家有什么好的建议

定义上服务器,用一致性哈希hash consistent,可以充分利用硬盘,不同请求的 url文件会缓存到不同的服务器磁盘

upstream backend { 
hash $uri consistent;   
server 10.5.245.1:30018;
server 10.5.245.2:30018;
server 10.5.245.3:30018;
server 10.5.245.4:30018;
server 10.5.245.5:30018;
server 10.5.245.6:30018;
server 10.5.245.7:30018;
server 10.5.245.8:30018;
server 10.5.245.9:30018;
server 10.5.245.10:30018;
} 

nginx反向代理,如何是内网ip请求,则缓存文件,

#PROXY-START/

location ^~ /oss/
{
    proxy_pass http://www.liugang.net/;
    proxy_set_header Host www.liugang.net;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    


    add_header X-Cache $upstream_cache_status;
    #Set Nginx Cache

    proxy_ignore_headers Set-Cookie Cache-Control expires;
    proxy_cache cache_one;
    if ($ckey = ""){
    set $ckey $uri;
    }
    proxy_cache_key $ckey;
    proxy_cache_valid 200 304 301 302 30d;

}
location ^~ /  
{
    if ($proxy_add_x_forwarded_for ~* "10.5.245.")
    {
         set $ckey $uri;
        rewrite ^/(.*) /oss/$1 last;
    }
    proxy_pass http://backend/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    expires 24h;

}
#PROXY-END/

充分利用带宽,可以在域名解析时候添加10个A记录指向不同的ip即可

标签: nginx, 云主机

添加新评论