现在傻梦兽的服务器架构如下
image.png

看到这里你们会发现一个问题就是,安流量计费。只有两台主机是有宽带,其余都是内网通信。
如果文字传输的话,流量并不算大,可以这么处理。可是图片过多的时候,如果有资本的企业选择肯定是七牛云之类的服务,因为这里服务包含了(分布式、CDN、还有负载等一系列的功能),可是这类服务如果一不小心的话,超出流量那就只能喊爸爸了。

那么我们一般的小企业是如何处理这一个问题的呢?比如我现在的再搞一台固定宽带的服务器做图片服务,然后在第一个代理服务器nginx服务器中配置如下

location ^~ /upload {
        proxy_pass http://192.168.1.15;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

然后把两台静态缓存服务器都指向192.168.1.15,并且有一台Cache迁移到固定带宽的静态缓存服务器中。
然后再把Nginx配置,只要是静态文件都302重定向指向带宽服务器中。

笔者用的是Laravel框架,如果只是用来跑一个图片服务器的话,那么有点血亏。也不能说不行,以后如果图片服务器要做负载的时候,你需要做再去新的主机安装一个PHP / Node 等程序来运行长传图片服务。
如果后期做图片负载的时候,这里会比较麻烦。

当然这也不是不好,就是用PHP来做图片服务器的话,有点不划算,那么什么是最划算呢?当然是nginx直接访问静态问文件,甚至使用node.jsGolang都可以,这些性能都接近Nginx。

那我们要做的是什么呢?没错我们要做的就是同步。

我们来看看修改的后是怎么一个思路

image.png

我们需要把192.168.1.11的服务器同步到192.168.1.16192.168.1.15当中。
同时把静态缓存服务器也同时迁移到192.168.1.16192.168.1.15当中。Nginx直接运行静态文件。

我这里用的是rsync实现实时同步,思路说完

实践请看# [Linux运维:rsync+inotify实时同步
]没有相关经验的可以使用方案二


傻梦兽0
38 声望4 粉丝