关于fastdfs:解密FastDFS的安装及部署实战篇

前言天猫、淘宝等购物网站,海量的商品图片和视频,是如何存储的?当用户访问量大时,又如何保障下载速度?分布式文件系统就是用来解决这些问题的。 那么分布式文件系统该如何应用呢?别急,明天袁老师就会率领大家来学习这些十分实用的技能: 分布式文件系统概述支流的分布式文件系统的介绍重点介绍FastDFS架构把握FastDFS的装置和配置FastDFS概述1.分布式文件系统分布式文件系统(Distributed File System)是一个软件/软件服务器,此软件能够用来治理在多个服务器节点中的文件(这些服务器节点通过网络相连并形成一个宏大的文件存储服务器集群,即这些服务器节点都是用来存储文件资源的,且用DFS来治理这些文件)。而传统文件系统与分布式文件系统的比照,有如下区别: 通过比照,咱们会发现传统文件系统存在如下毛病: 若用户数量多,则IO操作会很频繁 则对磁盘的拜访压力会较大; 若磁盘故障,则可能会造成数据的失落; 一个磁盘的存储容量无限。 2.支流的分布式文件系统2.1 HDFSHadoop Distributed File System,Hadoop分布式文件系统。这是一个高容错的零碎,适宜部署到便宜的机器上,能提供高吞吐量的数据拜访,非常适合大规模数据利用。HDFS采纳主从构造,一个HDFS是由一个name节点和N个data节点组成。name节点贮存元数据,一个文件宰割成N份存储在不同的data节点上。 2.2 GFSGoogle File System,可扩大的分布式文件系统,用于大型的,分布式的,对大量数据进行拜访的利用。GFS能够运行于便宜的一般硬件上,能够提供容错性能,它能够给大量的用户提供总体性能较高的服务。GFS采纳主从构造,一个GFS集群由一个master和大量的chunkserver(分块服务器)组成,一个文件被宰割若干块,扩散贮存到多个分块server中。 2.3 FastDFSFastDFS由淘宝资深架构师余庆编写并开源,应用C语言编写而成。FastDFS为互联网量身定制,充分考虑了冗余备份、负载平衡、线性扩容等机制,并重视高可用、高性能等指标。应用FastDFS可能很容易搭建出一套高性能的文件服务器集群,实现文件上传、下载等服务。 HDFS和GFS都是通用的文件系统,他们的长处是开发体验好,然而零碎的复杂度较高,性能也个别。相比之下,专用的分布式文件系统体验差,然而复杂度低,性能也高。尤其是FastDFS,特地适宜图片、小视频等小文件。因为FastDFS对文件是不宰割的,所以没有文件合并的开销。并且FastDFS网络通信应用Socket,速度也较快。 基于FastDFS的诸多长处,所以接下来咱们就重点给大家介绍FastDFS的应用。 FastDFS架构FastDFS架构包含Tracker Server和Storage Server。客户端申请Tracker Server进行文件上传、下载,通过Tracker Server调度最终由Storage Server实现文件上传和下载。 Tracker Server作用是负载平衡和调度,通过Tracker Server在文件上传时能够依据一些策略找到Storage Server提供文件上传服务。能够将Tracker称为追踪服务器或调度服务器。 Storage Server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage Server没有实现本人的文件系统而是利用操作系统的文件系统来管理文件。能够将Storage称为存储服务器。 Tracker集群FastDFS集群中的Tracker Server能够有多台,Tracker Server之间是互相平等关系同时提供服务,Tracker Server不存在单点故障。客户端申请Tracker Server采纳轮询形式,如果申请的Tracker无奈提供服务则换另一个Tracker。Storage集群Storage集群采纳了分组存储形式。Storage集群由一个或多个组形成,集群存储总容量为集群中所有组的存储容量之和。一个组由一台或多台存储服务器组成,组内的Storage Server之间是平等关系,不同组的Storage Server之间不会互相通信,同组内的Storage Server之间会相互连接进行文件同步,从而保障同组内每个Storage上的文件完全一致的。一个组的存储容量为该组内存储服务器容量最小的那个,由此可见组内存储服务器的软硬件配置最好是统一的。采纳分组存储形式的益处是灵便、可控性较强。比方上传文件时,能够由客户端间接指定上传到的组也能够由Tracker进行调度抉择。一个分组的存储服务器拜访压力较大时,能够在该组减少存储服务器来裁减服务能力(纵向扩容)。当零碎容量有余时,能够减少组来裁减存储容量(横向扩容)。 Storage状态收集Storage Server会连贯集群中所有的Tracker Server,定时向他们报告本人的状态,包含磁盘残余空间、文件同步情况、文件上传下载次数等统计信息。文件上传流程 客户端上传文件后存储服务器将文件ID返回给客户端,此文件ID用于当前拜访该文件的索引信息。文件索引信息包含:组名,虚构磁盘门路,数据两级目录,文件名。 组名文件上传后所在的Storage组名称,在文件上传胜利后由Storage服务器返回,须要客户端自行保留。 虚构磁盘门路Storage配置的虚构门路,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。 数据两级目录Storage服务器在每个虚构磁盘门路下创立的两级目录,用于存储数据文件。 文件名与文件上传时不同。是由存储服务器依据特定信息生成,文件名蕴含:源存储服务器IP地址、文件创建工夫戳、文件大小、随机数和文件拓展名等信息。 文件下载流程 Tracker依据申请的文件门路即文件ID来疾速定义文件,比方申请下边的文件: 以上申请处理过程如下: 通过组名Tracker可能很快的定位到客户端须要拜访的存储服务器组是group1,并抉择适合的存储服务器提供客户端拜访。存储服务器依据文件存储“虚构磁盘门路”和“数据两级目录”能够很快定位到文件所在目录,并依据文件名找到客户端须要拜访的文件。理解了FastDFS的运行原理之后,接下来咱们就来开始进行FastDFS的装置及配置过程吧。 FastDFS装置及配置 1.FastDFS装置1.1 装置gcc应用yum命令装置gcc和gcc-c++,编译时须要应用。 [root@user ~]# yum install -y gcc gcc-c++ ...

April 11, 2023 · 2 min · jiezi

关于fastdfs:FastDFS配置Nginx访问

FastDFS配置Nginx拜访FastDFS分布式文件系统装置和配置_亲测胜利 下载相干依赖软件包yum -y install wget make zlib zlib-devel gcc-c++ libtool openssl openssl-develwget http://nginx.org/download/nginx-1.10.2.tar.gztar -xzvf nginx-1.10.2.tar.gz装置Nginxcd nginx-1.10.2./configure --prefix=/data/apps/nginx-download \ --pid-path=/data/logs/nginx-download/nginx.pid \ --lock-path=/data/apps/nginx-download/nginx.lock \ --error-log-path=/data/logs/nginx-download/error.log \ --http-log-path=/data/logs/nginx-download/access.log \ --http-client-body-temp-path=/data/temps/nginx-download/client_body_temp \ --http-proxy-temp-path=/data/temps/nginx-download/proxy_temp \ --http-fastcgi-temp-path=/data/temps/nginx-download/fastcgi_temp \ --http-uwsgi-temp-path=/data/temps/nginx-download/uwsgi_temp \ --http-scgi-temp-path=/data/temps/nginx-download/scgi_temp \ --with-http_stub_status_module \ --with-http_realip_module \ --with-http_ssl_module makemake installNginx配置拜访FastDFSvim /data/apps/nginx-download/conf/nginx.conf upstream fdfs_group1 { server 192.168.0.2:9999; server 192.168.0.3:9999;}upstream fdfs_group2 { server 192.168.0.4:9999; server 192.168.0.5:9999;} location /group1 { proxy_pass http://fdfs_group1; } location /group2 { proxy_pass http://fdfs_group2; }启动Nginxmkdir -p /data/temps/nginx-download/client_body_temp ...

January 1, 2023 · 1 min · jiezi

关于fastdfs:实现fastdfs防盗链功能

1、背景咱们能够通过fastdfs实现一个分布式文件系统,如果咱们的fastdfs部署在外网,那么任何一个人晓得了咱们的上传接口,那么它就能够文件的上传和拜访。那么咱们如何阻止别人拜访咱们fastdfs服务器上的文件呢?此处就须要应用fastdfs的防盗链性能。 2、实现原理fastdfs的防盗链是通过token机制来实现的。当咱们开启防盗链性能后,须要在url后减少2个额定的参数token和ts。token和ts的生成都是须要在服务端。 2.1 开启防盗链vim /etc/fdfs/http.conf # true 示意开启防盗链http.anti_steal.check_token = true# token的过期工夫,单位为秒http.anti_steal.token_ttl = 60# 密钥,不可透露,用于生成tokenhttp.anti_steal.secret_key = thisisasecuritykey# 当图片回绝拜访后,显示的图片,此图片须要可拜访,不然可能会呈现问题http.anti_steal.token_check_fail = /data/fastdfs/401.jpghttp.anti_steal.token_check_fail 指定的图片须要可拜访,否则可能会呈现问题 2.2 重启 nginx/usr/local/nginx/sbin/nginx -s reload 2.3 Java代码生成token1、token生成规定token = md5(文件ID+私钥+工夫戳) 文件ID:不能蕴含group group1/M00/00/00/wKh5iWNBl7-AKvj1AAAwWD4VeAg577.jpg`须要替换成`M00/00/00/wKh5iWNBl7-AKvj1AAAwWD4VeAg577.jpg私钥:须要和 /etc/fdfs/http.conf 中的 http.anti_steal.secret_key 值统一工夫戳:单位秒 2、java生成token/** * 生成token * * @param fileId the filename return by FastDFS server,不能含有组 * @param timestampSecond 工夫戳 单位秒 * @return token * @throws NoSuchAlgorithmException */ private String generatorToken(String fileId, Long timestampSecond) throws NoSuchAlgorithmException { // 须要去掉 group fileId = fileId.substring(fileId.indexOf("/") + 1); byte[] bsFilename = fileId.getBytes(StandardCharsets.UTF_8); byte[] bsTimestamp = timestampSecond.toString().getBytes(StandardCharsets.UTF_8); // thisisasecuritykey 须要和 /etc/fdfs/http.conf 中的 http.anti_steal.secret_key 值统一 byte[] bsKey = "thisisasecuritykey".getBytes(StandardCharsets.UTF_8); byte[] buff = new byte[bsFilename.length + bsKey.length + bsTimestamp.length]; System.arraycopy(bsFilename, 0, buff, 0, bsFilename.length); System.arraycopy(bsKey, 0, buff, bsFilename.length, bsKey.length); System.arraycopy(bsTimestamp, 0, buff, bsFilename.length + bsKey.length, bsTimestamp.length); return md5(buff); } public static String md5(byte[] source) throws NoSuchAlgorithmException { char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5"); md.update(source); byte tmp[] = md.digest(); char str[] = new char[32]; int k = 0; for (int i = 0; i < 16; i++) { str[k++] = hexDigits[tmp[i] >>> 4 & 0xf]; str[k++] = hexDigits[tmp[i] & 0xf]; } return new String(str); }3、测试3.1 带正确token拜访 ...

October 9, 2022 · 1 min · jiezi

关于fastdfs:SpringBoot整合fastdfs

1、背景在前一节中,咱们搭建了一个单机版的fastdfs服务,此处咱们将fastdfs与springboot进行整合,实现文件的上传和下载。 2、整合步骤2.1、引入依赖<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.27.2</version></dependency>2.2、引入fastdfs配置fdfs: so-timeout: 2000 # 读取工夫 connect-timeout: 1000 # 连贯超时工夫 thumb-image: # 生成缩略图 height: 150 # 缩略图高度 width: 150 # 缩略图宽度 tracker-list: # tracker 服务器地址 - 192.168.121.137:22122 web-server-url: http://192.168.121.137:8888/ # storage 服务器上nginx的地址 pool: # 可参考 ConnectionPoolConfig #从池中借出的对象的最大数目(配置为-1示意不限度) max-total: -1 #获取连贯时的最大期待毫秒数(默认配置为5秒) max-wait-millis: 5000 #每个key最大连接数 key配置的是连贯服务端的地址(IP+端口)连贯状况,如果有连贯不够用的状况能够调整以上参数 max-total-per-key: 50 #每个key对应的连接池最大闲暇连接数 max-idle-per-key: 10 #每个key对应的连接池最小闲暇连接数 min-idle-per-key: 5 #向调用者输入“连贯”资源时,是否检测有效性 test-on-borrow: true2.3 编写文件上传和下载接口package com.huan.fastdfs.controller;import com.github.tobato.fastdfs.domain.conn.FdfsWebServer;import com.github.tobato.fastdfs.domain.fdfs.MetaData;import com.github.tobato.fastdfs.domain.fdfs.StorePath;import com.github.tobato.fastdfs.domain.proto.storage.DownloadByteArray;import com.github.tobato.fastdfs.service.FastFileStorageClient;import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.apache.commons.io.Charsets;import org.apache.commons.io.FileUtils;import org.apache.commons.io.FilenameUtils;import org.apache.commons.io.IOUtils;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.net.URLEncoder;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;/** * fastdfs 文件上传和下载控制器 * @author huan.fu * @date 2022/10/8 - 20:24 */@RestController@AllArgsConstructor@RequestMapping("fdfs")@Slf4jpublic class FastdfsController { private final FastFileStorageClient fastFileStorageClient; private final FdfsWebServer fdfsWebServer; /** * 上传文件 */ @PostMapping("uploadFile") public List<String> uploadFile(MultipartFile file) throws IOException { String fileName = file.getOriginalFilename(); // 获取文件扩展名 String extension = FilenameUtils.getExtension(fileName); // 文件元数据信息 Set<MetaData> metaData = new HashSet<>(4); metaData.add(new MetaData("fileName",fileName)); // 上传文件 StorePath storePath = fastFileStorageClient.uploadImageAndCrtThumbImage(file.getInputStream(), file.getSize(), extension, metaData); log.info("文件上传门路:[{}]",storePath.getFullPath()); String viewPath = fdfsWebServer.getWebServerUrl() + storePath.getFullPath(); log.info("可拜访门路:[{}]",viewPath); extension = FilenameUtils.getExtension(viewPath); String xthumbPath = viewPath.replace("." + extension, "")+"_150x150."+extension; log.info("缩略图门路:[{}]",xthumbPath); List<String> result = new ArrayList<>(3); result.add(viewPath); result.add(xthumbPath); result.add(storePath.getFullPath()); return result; } /** * 下载文件 */ @GetMapping("download") public void downloadFile(String filePath, HttpServletResponse response) throws IOException { log.info("须要下载的文件:[{}]",filePath); String group = filePath.substring(0, filePath.indexOf("/")); String path = filePath.substring(filePath.indexOf("/") + 1); Set<MetaData> metadata = fastFileStorageClient.getMetadata(group, path); String fileName = metadata.iterator().next().getValue(); byte[] bytes = fastFileStorageClient.downloadFile(group, path, new DownloadByteArray()); response.setContentType("application/octet-stream"); response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(fileName, Charsets.UTF_8.displayName())); IOUtils.write(bytes,response.getOutputStream()); }}2.4 测试文件上传从上图中能够,实现了文件的上传和缩略图的生成。 ...

October 8, 2022 · 2 min · jiezi

关于fastdfs:centos7上单机安装fastdfs609

1、背景最近因为某些起因接触到了分布式存储,而像阿里云的OSS等都是须要付费的,那么有没有收费的呢?fastdfs就是一个收费的,此处记录一下如何搭建一个单机版的 fastdfs 环境。 2、fastdfs的一些常识2.1 fastdfs的特点分组存储,灵便简洁对等构造,不存在单点文件ID由FastDFS生成,作为文件拜访凭证。FastDFS不须要传统的name server和风行的web server无缝连接,FastDFS已提供apache和nginx扩大模块大、中、小文件均能够很好反对,反对海量小文件存储反对多块磁盘,反对单盘数据恢复反对雷同文件内容只保留一份,节俭存储空间存储服务器上能够保留文件附加属性下载文件反对多线程形式,反对断点续传2.2 架构图 2.2.1 client 介绍客户端,即文件上传或下载的服务器,也就是咱们本人我的项目部署的服务器。 2.2.2 tracker-server 介绍tracker-server是跟踪服务器,次要起调度作用。负责管理所有 storage server的元数据信息,比方:storage ip、port、group等信息。每个storage server在启动的时候,会向tracker server连贯,上报本人的元数据信息,并与之放弃周期性的心跳。tracker-server之间通常不会互相通信2.2.3 storage-server 介绍storage-server是存储服务器,次要用来存储各种文件。storage-server是以Group为单位,每个Group内能够有多台storage server,同一个组内多个storage server为互为备份关系。每个Group中的机器的存储倡议配置成一样大,否则以这个Group内容量最小的storage为准。由storage server被动向tracker server报告状态信息2.3 fastdfs须要装置的软件依赖库备注libfatscommon根底库-fastdfs分离出来的公共函数libserverframe根底库-网络框架库FastDFSfastdfs本地fastdfs-nginx-modulefastdfs与nginx整合模块nginxnginx2.4 为什么须要fastdfs-nginx-module其实这个次要是因为,同一个group中存在多个storage server,而多个storage server之间会存在文件同步,那么可能就会呈现 同步提早 问题。 比方:咱们存在2台storage server,别离是 storageA 和 storageB。 FastDFS通过Tracker服务器,将文件放入到了storageA服务器存储。上传胜利后将 文件ID 返回给客户端。此时FastDFS存储集群机制会将这个文件同步到同组存储storageB,在文件还没有复制实现的状况下,客户端如果用这个文件ID在storageB上取文件,就会呈现文件无法访问的谬误。而fastdfs-nginx-module能够重定向文件连贯到源服务器取文件,防止客户端因为同步提早导致的文件无法访问谬误。 2.5 fastdfs的一些材料fastdfs 源码地址 https://github.com/happyfish100/fastdfs官方论坛 http://bbs.chinaunix.net/forum.php?mod=forumdisplay&fid=240&filter=typeid&typeid=424fastdfs 配置文件解释 http://bbs.chinaunix.net/thread-1941456-1-1.htmlfastdfs ppt介绍 http://bbs.chinaunix.net/thread-1958475-1-1.htmlfastdfs faq http://bbs.chinaunix.net/thread-1920470-1-1.html3、fastdfs软件装置3.1 前置条件3.1.1 依赖库装置yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel -y3.1.2 fastdfs源码所在目录[[email protected] fastdfs]# pwd/opt/fastdfs[[email protected] fastdfs]# lsfastdfs-6.09.tar.gz fastdfs-nginx-module-1.23.tar.gz libfastcommon-1.0.61.tar.gz libserverframe-1.1.20.tar.gz nginx-1.22.0.tar.gz[[email protected] fastdfs]#3.1.3 tracker 和 storage server此处因为是fastdfs单机装置,因而 tracker server 和 storage server 装置到同一台机器上。 ...

October 8, 2022 · 4 min · jiezi

关于fastdfs:FastDFS-海量小文件存储解决之道

作者:vivo互联网服务器团队-Zhou Changqing一、FastDFS原理介绍FastDFS是一个C语言实现的开源轻量级分布式文件系统 。 反对 Linux、FreeBSD、AID 等Unix零碎,解决了大容量的文件存储和高并发拜访问题,文件存取实现了负载平衡,适宜存储 4KB~500MB 之间的小文件,特地适宜以文件为载体的在线服务,如图片、视频、文档等等。 二、FastDFS 架构FastDFS 由三个局部形成: 客户端(Client)跟踪服务器(TrackerServer)存储服务器(StorageServer) 2.1 Tracker Server (跟踪服务器)Tracker Server (跟踪服务器) 次要是做调度工作,起到负载平衡的作用。 (1)【服务注册】治理StorageServer存储集群,StorageServer启动时,会把本人注册到TrackerServer上,并且定期报告本身状态信息,包含磁盘残余空间、文件同步情况、文件上传下载次数等统计信息。 (2)【服务发现】Client拜访StorageServer之前,必须先拜访TrackerServer,动静获取到StorageServer的连贯信息,最终数据是和一个可用的StorageServer进行传输。 (3)【负载平衡】 store group调配策略:0:轮询形式1:指定组2:均衡负载(抉择最大残余空间的组(卷)上传)store server调配策略:0:轮询形式1:依据 IP 地址进行排序抉择第一个服务器( IP 地址最小者)2:依据优先级进行排序(上传优先级由storage server来设置,参数名为upload_priority)stroe path调配 :0:轮流形式,多个目录顺次寄存文件2:抉择残余空间最大的目录寄存文件(留神:残余磁盘空间是动静的,因而存储到的目录或磁盘可能也是变动的)2.2 Tracker Server (跟踪服务器)Tracker Server (跟踪服务器) 次要提供容量和备份服务。 【分组治理】以Group为单位,每个Group蕴含多台Storage Server,数据互为备份,存储容量以Group内容量最小的 storage 为准,已 Group 为单位组织存储不便利用隔离、负载平衡和正本数据定制。 毛病:Group容量受单机存储容量的限度,数据恢复只能依赖Group其余机器从新同步。 【数据同步】文件同步只能在 Group 内的Storage Server之间进行,采纳push形式,即源服务器同步给指标服务器。源服务器读取 binlog 文件,将文件内容解析后,按操作命令发送给指标服务器,有指标服务按命令进行操作。 三、上传下载流程3.1 上传流程解析 3.1.1 抉择Tracker Server集群中的 tracker 之间都是对等的,客户端在上传文件时可任意抉择一个 tracker 即可。 3.1.2 调配Group、Stroage Server 和storage path(磁盘或者挂载点)tracker 接管到上传申请时会先给该文件调配一个能够存储的 Group ,而后在Group中调配一个Storage Server给客户端,最初在接管到客户端写文件申请时,Storage Server 会调配一个数据存储目录并写入。 (该过程中的调配策略详见:【负载平衡】) ...

April 26, 2022 · 2 min · jiezi

关于fastdfs:CentOS7中搭建FastDFS分布式文件系统

介绍FastDFS是一个开源的分布式文件系统,她对文件进行治理,性能包含:文件存储、文件同步、文件拜访(文件上传、文件下载)等,解决了大容量存储和负载平衡的问题。特地适宜以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器次要做调度工作,在拜访上起负载平衡的作用。 指标 在CentOS7中搭建FastDFS分布式文件系统;FastDFS+ Nginx + fastdfs-nginx-module整合;对FastDFS文件治理(上传、下载、预览、删除);剖析 装置依赖包;装置FastDFS;整合Nginx与fastdfs-nginx-module;测试。环境 CentOS7FastDFS_v5.08.tar.gznginx-1.19.10.tar.gzlibfastcommon-master.zip依赖装置 要装置 gccyum install gcc-c++装置 libeventyum -y install libevent装置 libeventyum -y install libevent装置 libfastcommon 或 libfastcommon-mastertar -zxvf libfastcommon-master.zip cd libfastcommon-master./make.sh./make.sh install 这里抉择libfastcommon-master.zip因为libfastcommon配置后FastDFS编译不胜利;libfastcommon 是 FastDFS 官网提供的,libfastcommon 蕴含了 FastDFS 运行所须要的一些根底库。装置FastDFS 解压安装包tar -zxvf FastDFS_v5.08.tar.gz进入目录cd FastDFS编译./make.sh装置./make.sh install查看装置地位ls -la /usr/bin/fdfs*配置Tracker服务 进入/etc/fdfs目录,看到几个文件 没有到/mysoft/FastDFS/conf文件拷贝过去;拷贝tracker.conf.sample,改tracker.conf;cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf编辑tracker.conf 批改相干参数 vi /etc/fdfs/tracker.conf #tracker存储data和log的跟门路,必须提前创立好 base_path=/home/fastdfs/tracker port=22122 #tracker默认22122 http.server_port=80 #http端口,须要和nginx雷同启动tracker(反对start|stop|restart) /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start|stop|restart或 /etc/init.d/fdfs_trackerd start|stop|restart查看端口状况:netstat -apn|grep fdfs netstat -apn|grep fdfs配置Storage服务 进入/etc/fdfs目录,看到几个文件 没有到/mysoft/FastDFS/conf文件拷贝过去;拷贝storage.conf.sample,改storage.conf;cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf编辑storage.conf 批改相干参数 vi /etc/fdfs/storage.conf ...

May 30, 2021 · 1 min · jiezi