使用Nginx或tomcat做Java上传附件或图片服务器分离
已有 1438 次阅读2017-4-26 00:00
|个人分类:Web开发|
因为放在项目部署目录中的文件会在项目重新部署时被删除,因此,我们需要将文件上传的位置放置在项目目录之外。为此,我们需要做两件事:1. 设置java上传文件的目录;2. 设置访问文件的URL。
1. 设置java上传文件的目录在服务器上,java是可以访问tomcat之外的目录的,只是需要修改目录的权限,使其运行tomcat用户读写。
如设置/var/www/CommunityUpload目录为上传目录,java代码中,可以直接使用此路径作为真实目录:
/** 获取上传文件临时目录 */
public static String getUploadDir(HttpServletRequest request) {
String dir = "/var/www/CommunityUpload";
return dir;
}
访问权限,设置为:
chown tomcat7 tomcat7 /var/www/CommunityUpload
2. 设置访问文件的URL,有两种方法nginx或tomcat
tomcat设置,修改tomcat配置文件中的server.xml,在HOST中添加:
nginx设置,修改对应项目的Server内添加目录别名作为虚拟目录:
location /CommunityUpload/ {
alias /var/www/CommunityUpload/;
}