最近几天,一直在学习nginx在windows平台下的使用,为了寻找几种大量图片分布式存储而且有相对简单的存储方案 nginx是一种,还找到一种MongoDB GridFS 这两种方案我还是比较中意的,经过今天的奋斗,终于将nginx做图片分布式存储这个方案的搭建环境建立起来了,GridFS在后续的学习中我也会记录下搭建过程,敬请期待吧。

废话少说,下面就来说一下Windows+Nginx+IIS 如何建立分布式存储结构。

1.  结构总览

逻辑结构:

图1

如图,这是理想的架设,我这次模拟的结构逻辑上是这样自己的,实际上我自己没这么多的计算机,我只能利用虚拟机虚拟出一台windows 2003系统

下图是我自己实际架设的结构:

图2

我来详细说明一下:

需要的资源:

A.      一个测试网站,很简单的,有一个上传图片,以及浏览图片就好了,一个页面足以

B.      Nginx代理服务器,我这里将Nginx代理服务器也用来存储图片,所以也算是图片服务器1号

C.      图片服务器,用来分担1号的图片

D.      第二张图,是我实际架设的结构,机器不够,所以我自己的笔记本上会安装如下配置:

a)         测试网站  www.demo.com

b)         Nginx 服务器代理

c)         图片服务器1号

虚拟机用来做图片服务器2号。

实现原理

1.       用户有2中上传图片方式:

a)         第一种Http://img.nginxtest.com/s1/upload.aspx

b)         第二种Http://img.nginxtest.com/s2/upload.aspx

请求发送至 Nginx服务器后根据 url中的s1,s2会转发到不同的2个图片服务器

含有/s1/ 的请求发送到1号图片服务器,含有/s2/ 的发送到2号服务器

2.       将来图片保存的结构如下

a)         1号图片服务会将图片保存在 /s1/… 目录下

b)         同理2号服务器会保存在  /s2/… 目录下

c)         我这里图片上传后图片保存的URL结构:

i.              1号服务器上: http://img.nginxtest.com/s1/photo/1234/123456/product/_2013113144712237_s.jpg

ii.              2号服务器上:http://img.nginxtest.com/s2/photo/1234/123456/product/_2013113145230921_s.jpg

d)         请求示意图

2.  图片服务器配置

一步一步来说下配置过程,先来配置2个图片服务器,用来接收用户上传的图片并保存在本地. 这里规定一下吧,如图2  Nginx代理服务器也即是我自己的笔记本命名为A号机器(IP:192.168.21.1),虚拟机命名为B号机器(IP:192.168.21.128),用于下面的简称

a)         A号机器配置图片服务器 : 域名为:img.nginxtest.com  端口 801

b)         A号机器配置图片服务器安装nginx  端口使用 80

c)         A号机器配置测试网站 域名www.demo.com 端口8012

d)         虚拟机配置图片服务器 域名 img.s2.com 端口 80

e)         修改 hosts 文件

f)          配置 nginx 找到nginx.conf 文件

上图的红色框框 实现了nginx 处理url分流, 根据URL中的/S1/ ,/S2/ 来分发请求

Ok~,以上是主要的配置流程,还有一些无法用语言说的,自己语言功底有限啊(暴汗~~)

提供一些参考资料

1.   短小实用的分布式图片存储方案  非常感谢这个博主的思路

2.  Nginx配置文件说明   这个要看一遍至少,否则新手真心不会配置

http://blog.sina.com.cn/s/blog_75a555e40101fie9.html

Windows+Nginx+IIS做图片分布式存储详细步骤的更多相关文章

  1. windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...

  2. windows本地搭建nginx+php+mysql+redis环境详细步骤

    1.mysql的下载和安装 这个可参考我另外一篇文章:http://www.cnblogs.com/myIvan/p/9265645.html 2.php的下载和配置修改 下载地址:https://w ...

  3. windows的iis做后门,隐藏访问,无日志<转>

    windows下的iis5/iis6做后门,隐藏访问,不留访问记录或者不留日志 好不容易攻下一台Windows2000/2003 IIS服务器,你一定会想,怎样才能长期占有这个“肉鸡”呢?聪明的你肯定 ...

  4. windows的iis做后门,隐藏访问,无日志

    windows下的iis5/iis6做后门,隐藏访问,不留访问记录或者不留日志 好不容易攻下一台Windows2000/2003 IIS服务器,你一定会想,怎样才能长期占有这个“肉鸡”呢?聪明的你肯定 ...

  5. Windows下phpStudy配置独立站点详细步骤

    本文讲如何在phpStudy下配置 域名->站点 步骤. 开始之前,我们先添加几个本地域名(host文件),如果有域名映射到主机此步可以跳过,直接看后面的phpStudy配置部分. 首先打开ho ...

  6. Windows中安装Linux子系统的详细步骤

    早就听说Windows中可以安装Linux子系统,体验了一下,感觉还是不错的,下面直接开始安装和配置步骤吧! 开启Windows中的配置 首先开启开发者模式 打开"所有设置"进入& ...

  7. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

  8. Windows Server 2016 配置 IIS 的详细步骤

    Ø  简介 本文主要记录 Windows Server 2016 环境下,安装配置 IIS 的详细步骤.需要说明的是,在选择"功能"或"角色服务"时不建议将所有 ...

  9. 使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程

    使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程 先列出来总体启动流程: (1)启动zookeeper集群(hadoop01.hadoop02和hadoop03这3台机 ...

随机推荐

  1. 基于TCP通信的客户端断线重连

    转载:http://www.cnblogs.com/networkcomms/p/4304362.html 源码下载 在CS程序中,断线重连应该是一个常见的功能. 此处的断线重连主要指的是服务器端因为 ...

  2. 普通项目转换成maven项目

    参看文档:http://czj4451.iteye.com/blog/1983889 maven仓库:http://mvnrepository.com/     基本步骤如下: Configue--& ...

  3. alert和console的区别

    前端开发调试中用的最多的两个命令就是console和alert了吧,做了两年前端了,发现好多人连这两个命令的区别都还不清楚,今天正好没什么事情做,于是按照自己的理解随便说说.   alert: 1.会 ...

  4. 关于V1.6.0版本的项目总结

    10月28号,我们开了1.6项目的总结大会,包括Ting总在内,前端.后台.运维都来参加总结大会了.虽然目标基本达成,但同时也暴露出很多问题,我们希望各方能够坐下来总结一下自己或者各个相关团队的功过是 ...

  5. Anaconda安装Graphviz, mac下Graphviz安装, pcharm中调用pycharm, Graphviz典型例子

    mac下的Graphviz安装及使用 2017年10月13日 13:30:07 阅读数:7495 一.安装 Graphviz http://www.graphviz.org/ mac用户建议直接用ho ...

  6. 如何限制jenkins的任务在某个节点上执行

    1.首先给节点打标签,一个节点可以打多个标签,中间使用空格分开 2.其次在每个任务上标记执行的标签位置,这样这个任务就在包含这些标签的节点上执行 3.通过这个方法限制的任务,只会跑在指定节点上,即是当 ...

  7. RMAN备份与恢复之概念二

      1   RMAN备份恢复 1.1  基础理论 恢复可以分为完全恢复和不完全恢复 完全数据库恢复是恢复到故障发生前的状态,所有已经提交的操作都进行恢复,确保数据库不丢失任何数据,完全恢复只用于归档模 ...

  8. shell学习:几道常见shell习题

    1. 编写shell脚本,计算1-100的和: #! /bin/bash sum=0 for i in `seq 1 100`; do sum=$[$i+$sum] done echo $sum 计算 ...

  9. automake连载--Linux下使用autoconfig automake进阶

    http://blog.csdn.net/shanzhizi/article/details/30247325 前言:       这次task,我大概用了4天的时间去完成.四天的时间内,我不停地去查 ...

  10. automake连载---关于两个文件configure.in和Makefile.am的编写

    http://blog.csdn.net/shanzhizi/article/details/30251763 automake主要通过编辑Makefile.am来控制它的行为,下面就常用的三个Mak ...