一、前期准备
安装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);
分享到:
相关推荐
3. **测试FastDFS+nginx集成** - 使用FastDFS客户端上传文件,观察文件是否成功存储到Storage Server - 通过Nginx访问上传的文件,验证文件能否正确通过Nginx返回 4. **优化与扩展** - 负载均衡:可以通过配置多...
**FastDFS安装与Nginx整合详解** FastDFS是一个开源的、高性能的、轻量级的分布式文件系统,主要用于解决大容量存储和负载均衡的问题。它具有高可用性、高扩展性和低延迟等特点,适用于互联网行业的图片、视频等大...
4. fastdfs-nginx-module:使Nginx与FastDFS集成的模块。 **安装libevent** 首先,通过`yum -y install libevent libevent-devel`命令安装libevent及其开发库。 **安装libfastcommon** 下载libfastcommon-1.0.7....
本文将深入探讨Nginx与FastDFS的集成原理及实践应用。 FastDFS是一个开源的轻量级分布式文件系统,专为互联网设计,具有高可用性、高性能和易扩展的特点。它主要负责文件的存储和管理,包括文件的上传、下载、删除...
- 通过Nginx访问文件,确认Nginx与FastDFS的集成是否正常。 - 使用`/usr/local/fdfs/bin/fdfs_monitor /etc/fdfs/client.conf`监控FastDFS的状态。 - 可以通过Nginx的`/status`接口查看其运行状态。 至此,Linux...
描述中提到的“主要是安装nginx, 让nginx集成fastdfs”说明我们将探讨如何将这两个组件结合使用,以及它们各自的安装配置过程。标签 "nginx+fastdfs" 进一步确认了这一主题。 **FastDFS简介** FastDFS是一个轻量级...
**Nginx与FastDFS整合详解** 在搭建一个高可用的文件存储系统时,Nginx结合FastDFS是一个常见的选择,特别是在单机环境下。本文将详细介绍如何在CentOS系统上安装并配置Nginx和FastDFS,以及如何利用Java客户端进行...
标题中的"fastdfs-nginx-module_v1.16.tar.gz"是一个开源项目,它是一个用于Nginx服务器的模块,旨在使Nginx能够与FastDFS文件存储系统无缝集成。FastDFS是一个轻量级的开源分布式文件系统,适用于互联网和企业内部...
标题 "nginx+fastDFS+libfastcommon+fastdfs-nginx-module" 涉及到的是一个集成的网络服务解决方案,用于高效地管理和分发文件。这个组合包括了以下几个关键组件: 1. **Nginx**: Nginx 是一款高性能的 HTTP 和反向...
- **FastDFS客户端**:如何在应用中集成FastDFS客户端,实现文件上传和下载功能。 - **FastDFS同步机制**:理解复制和同步策略,如主从复制、文件分片等,确保数据的一致性和冗余。 2. **Nginx**:Nginx是一款高...
FastDFS-nginx-module 1.24 是一个针对 FastDFS 文件系统的 Nginx 模块,它使得 Nginx 可以无缝地与 FastDFS 集成,提供了高效的文件上传、下载服务。这一版本是针对 FastDFS 的最新更新,旨在优化性能,提高稳定性...
总的来说,Linux系统下的CentOS 7与Nginx和FastDFS的集成,为大规模文件存储和分发提供了强大支持,是企业级应用的常见选择。正确配置和使用这套解决方案,能够帮助企业实现高效、可靠的文件服务。
### FastDFS 在 CentOS 7 下的部署与 Nginx 集成详解 #### 一、FastDFS 简介及工作原理 **1.1 快速理解 FastDFS** FastDFS 是一个开源的高性能分布式文件系统,适用于海量数据存储场景,特别是针对中小文件(4KB ...
Docker 镜像 - 自制镜像,集成了 PHP + Nginx + FastDFS,用于搭建 FastDFS 分布式文件服务系统,已上传至 Docker Hub,具体的安装方式可以查看扩展链接。
SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法 主要知识点: 1. SpringBoot框架:SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了...
**Nginx集成FastDFS**: 为了提供HTTP访问,通常会将FastDFS与Nginx结合使用。Nginx作为反向代理和负载均衡器,通过FastDFS的HTTP gateway模块,将用户的HTTP请求转发到FastDFS服务器,获取文件并返回给用户。配置...
集成FastDFS和Nginx的主要目的是利用Nginx的反向代理和负载均衡功能,优化FastDFS的文件访问性能和稳定性。以下是集成步骤的关键点: 1. **安装FastDFS**:首先需要解压并安装`libfastcommon-master.zip`和`fastdfs...
【Nginx集成FastDFS】 Nginx是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web服务器/邮件服务器。通过FastDFS的Nginx模块,Nginx可以直接处理FastDFS中的文件请求,提供静态文件服务,减轻了应用服务器的...
二、Nginx与FastDFS集成 FastDFS Nginx模块是用于Nginx服务器上的插件,它实现了Nginx与FastDFS之间的通信,使得Nginx可以直接处理FastDFS存储的文件,包括上传、下载以及文件元数据的查询。这样,用户可以直接通过...
下面我们将详细探讨这个"SpringBoot集成FastDFS文件服务器实例"。 首先,让我们理解FastDFS的工作原理。FastDFS提供了一种客户端/服务器(C/S)架构,由跟踪服务器(Tracker Server)和存储服务器(Storage Server...