设为首页 收藏本站
查看: 1875|回复: 0

[经验分享] Nginx+Tomcat+FastDFS文件下载模块讲解

[复制链接]

尚未签到

发表于 2016-12-26 07:43:53 | 显示全部楼层 |阅读模式
  本文主要以示例的方式讲解,如何简单快速的搭建一个nginx+tomcat结合FastDFS文件系统,进行文件下载的文章,Nginx可以直接配置FastDFS下载,由于在实战中用处不是很大,所以暂时不讲。
  1、首先下载nginx安装包,解压并运行。
  关于nginx的安装详看http://flychao88.iyunv.com/blog/1963365一文。
  关于nginx.conf文件的内容如下所示:

#user  nobody;
worker_processes  2;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
worker_connections  1024;
}
http {
include       mime.types;
default_type  application/octet-stream;
sendfile        on;
#tcp_nopush     on;
access_log  logs/access.log;  
keepalive_timeout  65;
#   gzip  on;
server {
listen       80;
server_name aa.bb.com;
location / {  
proxy_connect_timeout   3;  
proxy_send_timeout      30;  
proxy_read_timeout      30;  
proxy_pass http://localhost;
}  
}
upstream localhost {     
server localhost:8080 weight=10;  
server localhost:8081 weight=10;  
}  
   注:proxy_pass后面的url域名必须要和upstream后面的标识保持一致。
          2、下载并配置二个tomcat,配置tomcat端口号为:8080和8081
           3、下载并安装FastDFS。
                 具体请参见http://flychao88.iyunv.com/blog/1725285
  4、配置spring文件如下:

<bean class="com.jd.fastdfs.Configuration" id="configuration"/>
<bean id="trackerGroup" class="com.jd.fastdfs.TrackerGroup">
<property name="configuration" ref="configuration"/>
<property name="trackerServers">
<list value-type="java.lang.String">
<value>10.12.146.90:22122</value>
</list>
</property>
</bean>
<bean id="fastdfsHelper" class="com.jd.fastdfs.FastdfsHelper">
<property name="trackerGroup" ref="trackerGroup" />
</bean>


           5、配置struts.xml 文件。


<action name="oper_*"  class="fastDFSclientAction" method="{1}">
<result name="success" type="velocity">/pages/upload.vm</result>
<result name="downLoad" type="stream">
<param name="contentType">application/x-zip-compressed</param>
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="inputName">downLoadFile</param>
</result>
</action>
           6、开发Action类,代码如下:


package com.jd.paysettle.action;
import com.jd.common.struts.action.BaseAction;
import com.jd.common.web.result.Result;
import com.jd.fastdfs.FastdfsHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* User: root
* Date: 13-10-28
* Time: 上午3:59
*/
public class FastDFSClientAction extends BaseAction {
private static final long serialVersionUID = -5163525262758695901L;
private static final Logger log = LoggerFactory.getLogger(RefundAuditAction.class);
@Autowired
private FastdfsHelper fastdfsHelper;
private String fileUrl = "";
private InputStream downLoadFile;
private String fileName;
public String update() throws Exception {
String[] uploadFile = fastdfsHelper.upload("group1","/root/FastDFS_v4.05.tar.gz");
fileUrl = uploadFile[1];
Result result = new Result();
result.addDefaultModel("fileUrl", fileUrl);
toVm(result);
return SUCCESS;
}
public String download() throws Exception {
byte[] bytes = fastdfsHelper.download("group1",fileUrl);
downLoadFile = new ByteArrayInputStream(bytes);
fileName = "fastdfs"+System.currentTimeMillis()+".tar.tz";
return "downLoad";
}
public InputStream getDownLoadFile() {
return downLoadFile;
}
public void setDownLoadFile(InputStream downLoadFile) {
this.downLoadFile = downLoadFile;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFileUrl() {
return fileUrl;
}
public void setFileUrl(String fileUrl) {
this.fileUrl = fileUrl;
}
}

            7、HTML页面内容如下:

<body>
<br><br>upload file is :
<a href="/paysettle/oper_download.action?fileUrl=${fileUrl}">${fileUrl}</a>
</body>
 

     8、结果如下:

DSC0000.png

 
     
  关于JAVA版的FastDFS客户端,本人已经封装完毕,如果有哪位朋友需要,可以单独找我。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-319339-1-1.html 上篇帖子: FastDFS--扩展篇(Php&&Apache2&&Nginx) 下篇帖子: FASTDFS(六)nginx+lua+GraphicsMagick 图片自动缩放
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表