nginx搭建简单的图片服务器
传统项目一般实现图片上传的话,都会在tomcat下面建立一个图片文件夹,上传成功后,用户可以直接访问,
http://ip:port/project/images/xxx.jpg;
这样在用户量少的时候是没有问题的

当你的企业发展起来了,业务量增多了,使用的这个项目开始大起来了,发现系统速度变慢了,那么你就考虑到集群了对吧
那么好,假设你增加了一个tomcatB,性能提高了一点,图片也成功上传了,做了负载均衡,假设图片上传的了tomcatA(用户是不知道的)
第二次访问的时候(先不考虑session粘性不粘性的问题,假设是共享的),用户访问到了tomcatB,图片没有了,是个大叉叉,
我的天呐!发什么什么事了,明明刚刚上传的图片没有了,
再刷新一下,欸!又有了?这是什么情况呢?
后台知道咋回事,但是用户不知道啊!!!

那么解决方案是这样的,tomcatA和B上传至图片服务器,这用户请求的时候只访问图片服务器的路径,这样就没问题了
有人会问图片服务器用什么来搭建呢?
tomcat?可以,但是tomcat主要处理jsp比较好,图片文件是静态资源,处理起来性能一般般
Apache?可以,纯C语言开发的,没问题,但是还不够好
nginx?对了,这个是目前比较流行的一个反向代理服务器,我在之前的文章有简单介绍过(http://www.cnblogs.com/leechenxiang/p/5327086.html)
理论的单台机子并发能达到5万,非常的叼,实际测试是2w左右
安装如下的方案去做,那么图片服务器就问题不大了,

当然,图片上传后,需要把图片的路径地址保存到数据库啊~~
nginx搭建简单的图片服务器的更多相关文章
- Unity搭建简单的图片服务器
具体要实现的目标是:将图片手动拷贝到服务器,然后在Unity中点击按钮将服务器中的图片加载到Unity中. 首先简答解释下 WAMP(Windows + Apache + Mysql + PHP),一 ...
- 用nginx搭建简单的文件下载服务器
server { listen 80; #端口 server_name localhost; #服务名 charset utf-8; # ...
- 转:Linux下使用Nginx搭建简单图片服务器
最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅 ...
- Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...
- 170522、Linux 平台通过 nginx 和 vsftpd 构建图片服务器
Nginx WEB 服务器 Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第 ...
- nginx搭建前端项目web服务器以及利用反向代理调试远程后台接口
前端同学用nginx搭建自己的web服务器,后台程序专门部署在一台服务器上(我们之前公司就有三套环境,开发/测试/生产),这样做的好处是 1.前端代码基本都是静态文件,重启一次很快,也就几秒钟时间. ...
- Linux yum的配置 , python环境管理, nginx搭建简单学习
Linux yum的配置 , python环境管理, nginx搭建简单学习 一丶配置yum的数据仓库 ### yum 工具, 方便,自行解决软件之间的依赖关系. # 配置yum源仓库 (可以使用,清 ...
- mongoDB介绍、安装、搭建简单的mongoDB服务器(一)
相关网站 1. http://www.mongodb.org/ 官网,可以下载安装程序,和doc,和驱动等. 2. http://www.mongoing.com/ 国内官方网站,博客,问题谈论等 ...
- 基于python2【重要】怎么自行搭建简单的web服务器
基本流程:1.需要的支持 1)python本身有SimpleHTTPServer 2)ForkStaticServer.py支持,该文件放在python7目录下 3)将希望共享 ...
随机推荐
- java命令启动jacocoagent及生成报告
启动jacocoagent: java -Xms1024m -Xmx2048m -XX:-UseGCOverheadLimit -Ddruid.keepAlive=true -javaagent:/h ...
- undefined reference to...
wj@wj-Inspiron-:~/Downloads/LBD_Descriptor/build$ cmake .. -- Configuring done -- Generating done -- ...
- VS2015中C#版本6.0的新特性
[z]http://www.cnblogs.com/xszjk/articles/6417173.html [z]https://www.cnblogs.com/qixu/p/6047229.html ...
- Linux驱动之内核加载模块过程分析
Linux内核支持动态的加载模块运行:比如insmod first_drv.ko,这样就可以将模块加载到内核所在空间供应用程序调用.现在简单描述下insmod first_drv.ko的过程 1.in ...
- centos7更换镜像源
更换软件源 由于国外的软件源在yum 安装时比较慢,更换为国内的源,以阿里的源的更换方式 下载wgetyum install wget -y echo 备份当前的yum源mv /etc/yum.rep ...
- 8F - 采矿
某天gameboy玩魔兽RPG.有一个任务是在一个富含金矿的圆形小岛上建一个基地,以最快的速度采集完这个小岛上的所有金矿.这个小岛上有n(0<n<1000000)个金矿,每个金矿的矿藏量是 ...
- tkinter模块
Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...
- C# json解析字符串总是多出双引号
json好久没用了,今天在用到json的时候,发现对字符串做解析的时候总是多出双引号. 代码如下: string jsonText = "{'name':'test','phone':'18 ...
- 三种简单排序算法(java实现)
一.冒泡排序 算法思想:遍历待排序的数组,每次遍历比较相邻的两个元素,如果他们的排列顺序错误就交换他们的位置,经过一趟排序后,最大的元素会浮置数组的末端.重复操 作 ...
- Centos7上卸载openJdk安装,安装自己的JDK1.8
1.下载jdk-1.8,官网下载1.8 注意:不要使用wget命令去下载jdk,若能够下载下来,解压的时候也会报错的: 2.卸载openjdk (1)使用 rpm -qa | grep java ...