JavaWeb 开发过程中我们的静态资源img和css和js等都是放在项目中一起打包到war包里发布到Web服务器tomcat中运行的。
如果用户要上传和下载文件的话 一般上传文件也是放在tomcat目录或者Web服务器中。
但是随着用户上传的文件增多,或者我们的静态资源增加,会消耗Web服务器的性能。
所以遇到这种情况时,可以考虑进行 静态资源分离。
静态资源分离就是把静态资源放到另一台服务器上,web服务器只发布web项目。
所有的静态资源都通过外链接的方式 访问 静态资源。
网络上有很多这方面的帖子。但是都是一上来就开干,一点前戏都没有。。。
实现静态资源服务器的思路 步骤:
配置启动静态资源服务
配置启动静态资源服务,让资源文件通过http方式可访问。
常见方案是使用nginx或者apache设置映射,这样就能通过浏览器访问到 Linux服务器中的文件。
大家可以搜索:
Nginx实现静态资源服务器
apache实现静态资源服务器
进行了解配置。
上传文件
上传文件到静态资源服务器 就是 把文件放在服务器上。
一开始静态资源少的时候可以手动放置,但是最好还是有个上传功能。
java 实现上传文件到远程服务器常用方案:
大家可以搜索:
java上传文件到ftp服务器(这个方案需要在静态资源服务器安装ftp服务)
java使用HttpURLConnection上传文件到远程服务器 (分为客户端和服务端,客户端负责上传,服务端负责接收文件)
java使用HttpClient通过Post上传文件 (分为客户端和服务端,客户端负责上传,服务端负责接收文件)
进行了解。
因为我们已经把静态资源服务器的目录映射成可以通过url地址来访问,所以可以使用HttpURLConnection提交上传。以及使用HttpClient通过Post上传文件。推荐这两种方案。