`
lws0402
  • 浏览: 108806 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

nginx集成FastDFS

 
阅读更多
一、前期准备
安装nginx和FastDFS,并保证能正常运行。

下载nginx和FastDFS的集成模块,fsatdfs-nginx-module_v1.16.tar.gz,存放到/usr/local/FastDFS目录下,并执行tar –zxvf  fsatdfs-nginx-module_v1.16.tar.gz解压.


二、集成
进入/usr/local/hjlc_file/nginx-1.6.2(这是nginx的源码路径,不是nginx的安装路径),执行configure进行配置,命令如下:
./configure --with-pcre=/usr/local/hjlc_file/pcre-8.38 --with-zlib=/usr/local/hjlc_file/zlib-1.2.7  --with-openssl=/usr/local/hjlc_file/ openssl-1.0.0a  --add-module=/usr/local/FastDFS/fastdfs-nginx-module/src


上述命令成功执行后,再执行make进行编译(注意:这里不需要覆盖安装,不要执行make install),编译过后,将源码目录中objs目录下的nginx复制到nginx安装目录的sbin下即可。


然后将fastdfs-nginx-module模块的src目录下的mod_fastdfs.conf文件复制到/etc/fdfs/目录下。

三、配置
配置mod_fastdfs.conf,修改以下信息:
#保存日志目录
base_path=/usr/local/FastDFS/logs

#tracker服务器的IP地址以及端口号
tracker_server=172.18.8.35:22122

#storage服务器的端口号
storage_server_port=23000

#文件url中是否有group名
url_have_group_name= true

#存储路径个数,需要和store_path个数匹配
store_path_count=1

#存储路径,多个路径用1,2,3..来区分如store_path1,store_path2,store_path3
store_path0=/usr/local/fast_dfs_storage

配置好后,重启nginx和FastDFS。

  配置/usr/local/nginx/conf/nginx.conf,通过url,将请求转到FastDFS的存储目录,
server {
         listen 13110;
	server_name 127.0.0.1;
	charset utf-8;
          location ~.*/M00    {
          root /usr/local/fast_dfs_storage/data/;
          ngx_fastdfs_module;
        }
     }


    增加一个server节点,监听13110端口,FastDFS返回url格式为group1/M00/00/00/xxxx,location ~.*/M00就是配置当遇到FastDFS请求时,访问存储目录。

四、java客户端开发
下载FastDFS的java客户端jar包fastdfs_client_v1.20.jar。
在项目中增加fdfs_client.conf配置文件,内容如下:
connect_timeout = 2
network_timeout = 30
charset = UTF-8
http.tracker_http_port = 80
http.anti_steal_token = no
tracker_server = 172.18.8.35:22122

   Java代码:

//初始化(通过文件),忽略异常处理
  String url = getClass().getResource("/fdfs_client.conf").getFile();
url = java.net.URLDecoder.decode(url,"utf-8");
ClientGlobal.init(url);

也可以通过自己设置参数来初始化,代码如下:
//初始化(手动初始化参数)
ClientGlobal.setG_connect_timeout(3000);
ClientGlobal.setG_charset(“UTF-8”);
ClientGlobal.setG_network_timeout(30000);
ClientGlobal.setG_tracker_http_port(80);
ClientGlobal.setG_anti_steal_token(false);
InetSocketAddress[] group = new InetSocketAddress[1];
group[i] = new InetSocketAddress(“172.18.8.35”,22122);
ClientGlobal.setG_tracker_group(new TrackerGroup(group));


  //上传,忽略异常处理
  String url = "";
  TrackerClient trackerClient = new TrackerClient(); 
  TrackerServer trackerServer = null;
  FileInputStream fis = null;
trackerServer = trackerClient.getConnection();
StorageServer storageServer = null;
StorageClient client = new StorageClient(trackerServer, storageServer);
fis = new FileInputStream(file);
byte[] file_buff = null;
if(fis != null){
int len;
	len = fis.available();
	file_buff = new byte[len];
	fis.read(file_buff);
}
String[] result = null;
result = client.upload_file(file_buff, FilenameUtils.getExtension(file.getName()), null);
  result为返回的参数result[0]为分组名,如group1,result[1]为目录地址:如/M00/00/00/XXXX
 
  //删除,忽略异常处理
TrackerClient trackerClient = new TrackerClient(); 
  TrackerServer trackerServer = null;
trackerServer = trackerClient.getConnection();
StorageServer storageServer = null;  
  StorageClient1 client = new StorageClient1(trackerServer, storageServer);
if(url.indexOf("/") == 0)
  {
      url = url.substring(1);
  }
  client.delete_file1(url);


分享到:
评论

相关推荐

    fastDFS+Nginx_fastdfs_fastdfs、nginx_fastdfs/nginx_

    3. **测试FastDFS+nginx集成** - 使用FastDFS客户端上传文件,观察文件是否成功存储到Storage Server - 通过Nginx访问上传的文件,验证文件能否正确通过Nginx返回 4. **优化与扩展** - 负载均衡:可以通过配置多...

    FastDFS安装与Nginx整合

    **FastDFS安装与Nginx整合详解** FastDFS是一个开源的、高性能的、轻量级的分布式文件系统,主要用于解决大容量存储和负载均衡的问题。它具有高可用性、高扩展性和低延迟等特点,适用于互联网行业的图片、视频等大...

    nginx+fastDFS.docx

    4. fastdfs-nginx-module:使Nginx与FastDFS集成的模块。 **安装libevent** 首先,通过`yum -y install libevent libevent-devel`命令安装libevent及其开发库。 **安装libfastcommon** 下载libfastcommon-1.0.7....

    nginx+FastDFS.zip

    本文将深入探讨Nginx与FastDFS的集成原理及实践应用。 FastDFS是一个开源的轻量级分布式文件系统,专为互联网设计,具有高可用性、高性能和易扩展的特点。它主要负责文件的存储和管理,包括文件的上传、下载、删除...

    linux下搭建FastDFS+Nginx服务器

    - 通过Nginx访问文件,确认Nginx与FastDFS的集成是否正常。 - 使用`/usr/local/fdfs/bin/fdfs_monitor /etc/fdfs/client.conf`监控FastDFS的状态。 - 可以通过Nginx的`/status`接口查看其运行状态。 至此,Linux...

    FastDFS.zip

    描述中提到的“主要是安装nginx, 让nginx集成fastdfs”说明我们将探讨如何将这两个组件结合使用,以及它们各自的安装配置过程。标签 "nginx+fastdfs" 进一步确认了这一主题。 **FastDFS简介** FastDFS是一个轻量级...

    nginx+fastDFS(单机版本,系统:CentOS)

    **Nginx与FastDFS整合详解** 在搭建一个高可用的文件存储系统时,Nginx结合FastDFS是一个常见的选择,特别是在单机环境下。本文将详细介绍如何在CentOS系统上安装并配置Nginx和FastDFS,以及如何利用Java客户端进行...

    fastdfs-nginx-module-1.24

    FastDFS-nginx-module 1.24 是一个针对 FastDFS 文件系统的 Nginx 模块,它使得 Nginx 可以无缝地与 FastDFS 集成,提供了高效的文件上传、下载服务。这一版本是针对 FastDFS 的最新更新,旨在优化性能,提高稳定性...

    nginx+fastDFS+libfastcommon+fastdfs-nginx-module

    标题 "nginx+fastDFS+libfastcommon+fastdfs-nginx-module" 涉及到的是一个集成的网络服务解决方案,用于高效地管理和分发文件。这个组合包括了以下几个关键组件: 1. **Nginx**: Nginx 是一款高性能的 HTTP 和反向...

    keepalived+nginx+fastdfs集群安装手册

    - **FastDFS客户端**:如何在应用中集成FastDFS客户端,实现文件上传和下载功能。 - **FastDFS同步机制**:理解复制和同步策略,如主从复制、文件分片等,确保数据的一致性和冗余。 2. **Nginx**:Nginx是一款高...

    fastdfs-nginx-module_v1.16.tar.gz源码包,nginx支

    标题中的"fastdfs-nginx-module_v1.16.tar.gz"是一个开源项目,它是一个用于Nginx服务器的模块,旨在使Nginx能够与FastDFS文件存储系统无缝集成。FastDFS是一个轻量级的开源分布式文件系统,适用于互联网和企业内部...

    Linux系统:centos7下搭建Nginx和FastDFS.rar

    总的来说,Linux系统下的CentOS 7与Nginx和FastDFS的集成,为大规模文件存储和分发提供了强大支持,是企业级应用的常见选择。正确配置和使用这套解决方案,能够帮助企业实现高效、可靠的文件服务。

    centos7搭建nginx+fastDFS

    ### FastDFS 在 CentOS 7 下的部署与 Nginx 集成详解 #### 一、FastDFS 简介及工作原理 **1.1 快速理解 FastDFS** FastDFS 是一个开源的高性能分布式文件系统,适用于海量数据存储场景,特别是针对中小文件(4KB ...

    Docker镜像 - 自制镜像,集成了 PHP + Nginx + FastDFS,用于搭建 FastDFS 分布式文件服务系统

    Docker 镜像 - 自制镜像,集成了 PHP + Nginx + FastDFS,用于搭建 FastDFS 分布式文件服务系统,已上传至 Docker Hub,具体的安装方式可以查看扩展链接。

    SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法

    SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法 主要知识点: 1. SpringBoot框架:SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了...

    FastDFS、nginx(linux)相关软件和安装文档

    **Nginx集成FastDFS**: 为了提供HTTP访问,通常会将FastDFS与Nginx结合使用。Nginx作为反向代理和负载均衡器,通过FastDFS的HTTP gateway模块,将用户的HTTP请求转发到FastDFS服务器,获取文件并返回给用户。配置...

    FastDFS 与 Nginx 集成安装包

    集成FastDFS和Nginx的主要目的是利用Nginx的反向代理和负载均衡功能,优化FastDFS的文件访问性能和稳定性。以下是集成步骤的关键点: 1. **安装FastDFS**:首先需要解压并安装`libfastcommon-master.zip`和`fastdfs...

    nginx的FastDFS分布式存储模块测试方法

    【Nginx集成FastDFS】 Nginx是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web服务器/邮件服务器。通过FastDFS的Nginx模块,Nginx可以直接处理FastDFS中的文件请求,提供静态文件服务,减轻了应用服务器的...

    fastdfs-nginx-module_v1.19

    二、Nginx与FastDFS集成 FastDFS Nginx模块是用于Nginx服务器上的插件,它实现了Nginx与FastDFS之间的通信,使得Nginx可以直接处理FastDFS存储的文件,包括上传、下载以及文件元数据的查询。这样,用户可以直接通过...

    SpringBoot集成FastDFS文件服务器实例

    下面我们将详细探讨这个"SpringBoot集成FastDFS文件服务器实例"。 首先,让我们理解FastDFS的工作原理。FastDFS提供了一种客户端/服务器(C/S)架构,由跟踪服务器(Tracker Server)和存储服务器(Storage Server...

Global site tag (gtag.js) - Google Analytics