首先介绍一下为什么使用nginx和FastDFS,看下面这个图,传统方式上传图片的话,把图片存到项目里面的一个文件夹下面是没有问题的,但是这种项目只适用于小型项目并发量小的.
但是电商项目,互联网项目并发量是很高的,所以一台服务器肯定不行,得使用多台服务器做集群,这样问题就来了,多台服务器的话,肯定得把项目都部署到各各服务器上面,每个服务器的项目下面都有一个图片文件夹,然后使用负载均衡服务器管理,也就是让请求发送来的时候让他们平摊,这时候如果一个用户上传了一张图片到第一个服务器,那么这张图片只在第一个服务项目下面有这张图片,当他再次访问这个图片的时候,假设负载均衡给他分配到第二个服务器了,但是第二个服务器没有这张图片这时候,就会404找不到
这时候就需要一个图片服务器了,无论哪个服务器上传图片都会上传到这个图片服务上面的images目录下,取的时候也从这个服务器上取,但是访问的时候需要一个http路径去访问,所以得在图片服务器上安装一个可以http形式访问的服务器,例如tomcat,但是tomcat的强项是处理jsp,如果访问静态资源,就不是它的强项了,它的并发量也就四五百,所以得选择其它的服务器,Apache服务器,但是这个过时了,现在都用Nginx服务器,它也是免费的性能也好,它也可以做负载均衡.但是还有个问题就是,互联网项目图片量是很大的,如果就保存到一个文件夹下面很快就满了,就算你加硬盘也是远远不够的,因为一个服务器也就能加那么几个硬盘都满了之后呢?有的人会说再加服务器啊,如果你再加服务器的话,上传图片该往哪个上传呢,所以这都是问题,这时候就有了FastDFS分布式文件系统,这个东西就可以解决图片存储空间扩容问题,如果服务器满了可以扩容服务器,它会自动管理服务器,也可以加备份机来解决数据同步问题.
转:https://blog.csdn.net/kxj19980524/article/details/85013496