
- 应 用
- 计算机
- 外文名
- file server
- 目 标
- 文件数据共享
- 中文名
- 文件服务器
- 功 能
- 分时系统管理的全部功能
- 亦 称
- fs服务器
-
FastDFS文件服务器
2019-01-25 15:26:45文件服务器FastDFS(Fast Distributed File System)是一款开源轻量级分布式文件系统。
1.FastDFS概述
1).FastDFS工作原理
TrackerTracker Server作用是负载均衡和调度。文件上传时通过Tracker Server根据某些策略(压力/宕机等)找到适合的Storage Server提供文件上传服务。
FastDFS集群中的Tracker Server可以有多台。Tracker Server之间是平等关系同时提供服务,不存在单点故障;客户端请求Tracker Server采用轮询方式,如果请求的Tracker无法提供服务则换另外的Tracker。Storage
Storage Server作用是文件存储。Storage Server使用操作系统的文件系统来管理文件。
Storage集群采用了分组存储方式,可以由一个或多个组构成,集群存储总容量为集群中所有组的存储容量之和。一个组由一台或多台存储服务器组成,组内的Storage Server之间是平等关系,不同组的Storage Server之间不会互相通信。同组内的Storage Server之间会相互连接进行文件同步,从而保证同组内每个Storage 上的文件完全一致。
一个分组的存储服务器访问压力较大时,可以在该组增加存储服务器来扩充服务器能力(纵向扩容);当系统容量不足时,可以增加组来扩充存储容量(横向扩容)。Storage Server会连接集群中所有的Tracker Server,定时向他们报告自己的状态,包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。
2).FastDFS工作流程
客户端上传文件到存储服务器返回文件ID给客户端。文件ID是访问文件的索引信息。包括:组名/虚拟磁盘路径/数据两级目录/文件名
2.FastDFS安装
环境:centos6.8
安装libfastcommon
- 获取安装包
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
-
解压到指定目录,进入目录
-
执行编译:./make.sh
-
进行安装:./make.sh install
安装FastDFS
- 获取fdfs安装包
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
-
解压到指定目录,进入目录
-
执行编译:./make.sh
-
进行安装:./make.sh install
-
查看可执行命令:ls -la /usr/bin/fdfs*
配置Tracker服务
- 进入/etc/fdfs目录,有4个.sample后缀的文件(自动生成的fdfs模板配置文件),通过cp命令拷贝tracker.conf.sample,删除.sample后缀作为正式文件。
- 编辑tracker.conf:vim tracker.conf
修改相关参数:
# the base path to store data and log files base_path=/home/fastdfs/tracker # 存储data和log的根路径,提前创建 # the tracker server port port=22122 # 默认端口为22122 # HTTP port on this tracker server http.server_port=80 # http端口(需要与nginx相同)
- 启动tracker(支持start | stop | restart)
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
可能遇到的报错:
/usr/bin/fdfs_trackerd: error while loading shared libraries: libfastcommon.so: cannot open shared object file: No such file or directory
解决方案:建立libfastcommon.so软链接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so- 查看tracker启动日志:进入指定的base_path(/home/fastdfs/tracker)中有个logs目录,查看trackerd.log文件
配置Storage服务
- 进入/etc/fdfs目录,有cp命令拷贝storage.conf.sample,删除.sample后缀作为正式文件;
- 编辑storage.conf:vim storage.conf
修改相关参数:
base_path=/home/fastdfs/storage # 存储data和log的根路径,提前创建 port=23000 # storage默认23000,同一个组的端口号必须一致 group_name=group1 # 默认组名,根据实际情况修改 store_path_count=1 # 存储路径个数,需要和store_path个数匹配 store_path0=/home/fastdfs/storage # 如果为空,则使用base_path tracker_server=10.0.192.55:22122 # 配置该storage监听的tracker的ip和port
- 启动storage(支持start | stop | restart):
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
- 查看storage启动日志:进入指定的base_path(/home/fastdfs/storage)中有个logs目录,查看storaged.log文件
- 查看tracker日志:发现已经开始选举,并且作为唯一的一个tracker,被选举为leader
- 通过monitor查看storage是否成功绑定
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
Nginx配置FastDFS
- 下载fastdfs-nginx-module安装包(在所有storage节点安装fastdfs-nginx-module)
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入文件复制,有同步延迟的问题。假设 Tracker 服务器将文件上传到了 10.0.192.55,上传成功后文件 ID 已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储10.0.192.64,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 10.0.192.64 上取文件,就会出现文件无法访问的错误。而 fastdfs-nginx-module 可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。(解压后的 fastdfs-nginx-module 在 nginx 安装时使用)
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz
- 解压到指定目录
- nginx添加 fastdfs-nginx-module模块
- .重新编译nginx
[root@localhost nginx-1.14.0]# make
出现异常: /usr/include/fastdfs/trunk_shared.h:18:20: 错误:base64.h:没有那个文件或目录
解决方案:
① 编辑 fastdfs-nginx-module-1.20/src/config 文件
vim fastdfs-nginx-module-1.20/src/config
② 修改文件内容为:
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"- 修改nginx配置文件
location ~/M00 { root /home/fastdfs/storage/data; ngx_fastdfs_module; index index.html index.htm; }
- 拷贝fastdfs解压目录中的http.conf和mime.types(否则:nginx启动失败):
cd /usr/local/fastDFS/fastdfs-5.11/conf/
cp mime.types http.conf /etc/fdfs/- 复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录
集群:
- 在storage.conf配置文件中,配置tracker_server集群信息
- 在mod_fastdfs.conf配置文件中,配置tracker_server集群信息
java工具类:
package com.edu.x.modules.util; import org.csource.common.MyException; import org.csource.fastdfs.ClientGlobal; import org.csource.fastdfs.StorageClient1; import org.csource.fastdfs.StorageServer; import org.csource.fastdfs.TrackerClient; import org.csource.fastdfs.TrackerServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; /** * fast文件上传工具类 * <p> * * @author yongzhen * @date 2018/12/20-11:05 */ public class FastDFSUtil { private static Logger logger = LoggerFactory.getLogger(FastDFSUtil.class); /** * 上传文件的方法 * * @param byteFile 文件字节流 * @param expandName 文件拓展名 * * @return */ public static String uploadFile(byte[] byteFile, String expandName) { String filePath = null; try { // 初始化客户端配置信息 ClientGlobal.initByProperties("com/edu/x/config/fdfs_client.properties"); // 创建tracker客户端 TrackerClient trackerClient = new TrackerClient(); TrackerServer trackerServer = trackerClient.getConnection(); String storageServerIp = getStorageServerIp(trackerClient, trackerServer); logger.info("获取文件服务器IP:" + storageServerIp); StorageServer storageServer = null; // 创建storage客户端 StorageClient1 client = new StorageClient1(trackerServer, storageServer); // 文件元信息 // NameValuePair[] metaList = new NameValuePair[2]; // metaList[0] = new NameValuePair("source", "OA"); // metaList[1] = new NameValuePair("author", "yangyongzhen"); //利用字节流上传文件 String fileId = client.upload_file1(byteFile, expandName, null); logger.info("upload success. file id is: " + fileId); filePath = storageServerIp + File.separator + fileId; return filePath; } catch (IOException | MyException e) { e.printStackTrace(); } return filePath; } /** * 获得可用的storage IP * * @param trackerClient * @param trackerServer * * @return 返回storage IP */ public static String getStorageServerIp(TrackerClient trackerClient, TrackerServer trackerServer) { String storageIp = null; if (trackerClient != null && trackerServer != null) { try { StorageServer storageServer = trackerClient.getStoreStorage(trackerServer, "group1"); storageIp = storageServer.getSocket().getInetAddress().getHostAddress(); } catch (IOException e) { e.printStackTrace(); } } return storageIp; } }
java配置文件:
#FastDFS配置(除了fastdfs.tracker_servers,其它配置项都是可选的) fastdfs.connect_timeout_in_seconds=10 fastdfs.network_timeout_in_seconds=30 fastdfs.charset=UTF-8 fastdfs.http_anti_steal_token=false fastdfs.http_secret_key=FastDFS1234567890 fastdfs.http_tracker_http_port=80 fastdfs.tracker_servers=10.0.192.55:22122
properties文件必须包含配置项 fastdfs.tracker_servers 例如:fastdfs.tracker_servers = 10.0.192.55:22122,10.0.192.64:22122 server的IP和端口用冒号':'分隔,server之间用逗号','分隔
-
NAS服务器和文件服务器区别
2019-10-12 11:08:49NAS服务器和文件服务器各方面优劣对比,现在市面上出现了很多的NAS服务器品牌,看来这个市场还是很有前景的,今天我们就对普通的文件服务器及NAS服务器做一下简单的对比。 网络附加存储(NetworkAttached Server,...NAS服务器和文件服务器各方面优劣对比,现在市面上出现了很多的NAS服务器品牌,看来这个市场还是很有前景的,今天我们就对普通的文件服务器及NAS服务器做一下简单的对比。
网络附加存储(NetworkAttached Server,缩写为NAS)将储存设备连接到现有网络上,提供数据和文件服务。与客户通信通常采用NFS、CIFS协议。
NAS服务器和文件服务器的对比
文件服务器主要任务则是为网络上的计算机提供多样化的服务,如在文件共享及处理、网页发布、FTP、电子邮件服务等方面有明显的优势,这主要得益于文件服备器通常是采取高性能的CPU,与NAS相比它在数据备份、数据安全等方面并不占优势,原因有以下几点:
1)文件服务器进行备份时,备份文件和原始文件一起存放在同一套系统中,无法分担风险,特别是防止灾难性后果的发生;
2)文件服务器因要提供多样化的服务,从而造成自身安全性不足,任何一处服务的漏洞都可能遭受黑客的攻击而导致数据的泄露或者丢失;
3)文件服务器自身操作系统的不稳定性会影响数据的安全性;
4)文件服务器的备份工作需要专业人员进行操作,必须有良好的备份意识,并且需要对机器进行定期维护;
5)文件服务器易受计算机病毒影响;
6)不能实时备份客户端操作系统,若客户端计算机正在使用则不能进行操作系统的备份工作;
7)耗电发热量大,一台文件服务器的整机功耗大约在300~400W之间,故此也造成文件服务器对工作环境要求比较高。
由此可以看到,文件服务器虽然能提供备份的功能,但却存在很多不安全的因素。而NAS则是为存储备份而优化的系统
小结:
如果你是家庭或小企业,对文件共享及备份的需求,数据湾建议使用NAS服务器,这可以低成本有效的共享文件,备份文件。但如果你企业有一定规模,建议使用NAS及Windwos服务器协同使用,Widnwos 的活动目录可以有效的,跨系统的为整个企业提供高效的用户管理方案。可能初期投入成本较高,但在提高企业整体的工作效率,提高企业的职员因IT管理不到位,而带来不必要的经济损失,这种损失是看不见的。其实大家看看为什么那些大企业,跨国企业会投入那么高的成本来建设IT系统,就是可有效的提高工作效率,从而实现长时间的降低运营成本。 -
从零开始java文件服务器篇:文件服务器
2019-09-12 22:51:15一:文件服务器 在一个无论什么样的系统中,文件上传/下载是一个不可或缺的基础功能。在一个比较小的单体项目中,我们不会去单独为文件的存储开辟一个服务器,但是随着我们项目的一步一步扩展从ftp,sftp,分布式...一:文件服务器
在一个无论什么样的系统中,文件上传/下载是一个不可或缺的基础功能。在一个比较小的单体项目中,我们不会去单独为文件的存储开辟一个服务器,但是随着我们项目的一步一步扩展从ftp,sftp,分布式存储的服务器一步一步发展而来。目前接触过的主流的分布式文件存储FasfDfs服务器和Hdfs服务器。基于目前的能力,我们这里使用了Fastdfs服务器。
这里主要是spirngboot2.x整合fastdfs文件上传以及下载的功能。FastDfs文件服务器的搭建基于Lunix系统,这里参照一个大神搭建过程,亲测搭建完成 搭建Fdfs文件服务器 。
好勒废话不多说直接上代码。
二:代码
1.pom.xml
<!-- FASTDFS --> <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.5</version> <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> </exclusions> </dependency>
2.配置文件YML
#分布式文件系统fastDfs fdfs: so-timeout: 1501 connect-timeout: 601 thumb-image: #缩略图生成参数 width: 150 height: 150 web-server-url: 192.168.36.136/ tracker-list: - 192.168.36.136:22122 pool: max-wait-millis: 102 jmx-name-base: 1 jmx-name-prefix: 1 pool: max-total: 153
3.Config配置
package com.config.fdfs; /** * Fdfs分布式文件系统的配置文件,解决JMX重复注册问题,防止Mbean在启动时因为重复注册而导致注册失败 */ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableMBeanExport; import org.springframework.context.annotation.Import; import org.springframework.jmx.support.RegistrationPolicy; import com.github.tobato.fastdfs.FdfsClientConfig; @Configuration @Import(FdfsClientConfig.class) @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING) public class FdfsConfig { }
4.工具类
package com.config.fdfs.clent; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.nio.charset.Charset; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import com.github.tobato.fastdfs.domain.conn.FdfsWebServer; import com.github.tobato.fastdfs.domain.fdfs.StorePath; import com.github.tobato.fastdfs.domain.proto.storage.DownloadByteArray; import com.github.tobato.fastdfs.service.FastFileStorageClient; @Service public class FastFileClient { @Autowired private FastFileStorageClient storageClient; @Autowired private FdfsWebServer fdfsWebServer; //====================文件操作类 // 封装完整URL地址 private String getResAccessUrl(StorePath storePath) { String fileUrl = fdfsWebServer.getWebServerUrl() + storePath.getFullPath(); return fileUrl; } public String upload(MultipartFile file) throws Exception { StorePath storePath = storageClient.uploadFile(file.getInputStream(),file.getSize(), FilenameUtils.getExtension(file.getOriginalFilename()),null); return getResAccessUrl(storePath); } public String upload(File file) throws Exception { FileInputStream inputStream = new FileInputStream (file); StorePath storePath = storageClient.uploadFile(inputStream,file.length(), FilenameUtils.getExtension(file.getName()),null); return getResAccessUrl(storePath); } public String upload(String context, String path) throws Exception { byte[] buff=context.getBytes(Charset.forName("UTF-8")); ByteArrayInputStream stream = new ByteArrayInputStream(buff); StorePath storePath = storageClient.uploadFile(stream,buff.length, path,null); return getResAccessUrl(storePath); } public byte[] downLoad(String fileUrl) throws Exception { String group = fileUrl.substring(0, fileUrl.indexOf("/")); String path = fileUrl.substring(fileUrl.indexOf("/") + 1); byte[] bytes = storageClient.downloadFile(group, path, new DownloadByteArray()); return bytes; } public void deleteFile(String fileUrl) throws Exception { if(fileUrl == null || fileUrl.isEmpty()) { return ; } StorePath storePath = StorePath.parseFromUrl(fileUrl); storageClient.deleteFile(storePath.getGroup(), storePath.getPath()); } public void downLoad(String url,String fileName,HttpServletResponse response) throws Exception { response.setContentType("application/force-download");// 设置强制下载不打开 response.addHeader("Content-Disposition", "attachment;fileName="+fileName);// 设置文件名 IOUtils.write(this.downLoad(url), response.getOutputStream()); } }
到这里,配置就算完成了,可以直接用FastFileClient调用了
三:程序设计思路
在代码里,我们用Clinet的工具类来调用并且同时将数据存储在文件表中,这里使用Aop来减少耦合,具体思路如下:
四:其他功能
-
Windows中的共享文件和文件服务器
2018-10-17 11:59:02文件服务器资源管理器的搭建 文件共享是指主动地在网络上共享自己的计算机文件。一般文件共享使用P2P模式,文件本身存在用户本人的个人电脑上。大多数参加文件共享的人也同时下载其他用户提供的共享文件。有时这两...目录
文件共享是指主动地在网络上共享自己的计算机文件。一般文件共享使用P2P模式,文件本身存在用户本人的个人电脑上。大多数参加文件共享的人也同时下载其他用户提供的共享文件。有时这两个行动是连在一起的。在很早期的Windows中(Windows2000以下),文件共享服务是利用TCP的139端口实现的,服务名是SMB。后来,微软又把SMB改名为CIFS,并且使用的是TCP的445端口
相关文章:Linux文件共享服务之Samba
哪些用户能够共享文件夹
- 普通用户是没有权限共享文件夹
- Administrators 组的账号可以设置共享文件夹
- Power user 组的账号也可以设置共享文件夹
共享文件的设置
共享文件服务端的设置
1、文件共享服务器需要打开网卡上的 Microsoft 网络的文件和打印共享功能(这个功能默认是开启的)
2、然后打开高级共享设置,启用网络发现和启用文件、打印机共享(实际上就是打开了TCP的445端口)
3、选择要共享的文件,右键-->属性-->共享-->然后选择一个用户名去共享,然后就会有一个访问共享文件夹的路径
隐藏共享文件的设置
共享文件的时候选择高级共享,然后共享文件名后加一个 $,这样客户端默认看不到这个共享的文件夹,除非访问的时候加上共享文件名和$: \\WIN-7\file$
共享文件客户端的访问
方法一:客户端运行窗口输入:\\WIN-7 或者 \\ip地址,然后用服务器的用户名和密码登录即可访问共享文件夹(看不到隐藏的共享文件夹)。
方法二:客户端在文件夹窗口输入: \\WIN-7 或者 \\ip地址 ,然后用服务器的用户名和密码登录即可访问共享文件夹(看不到隐藏的共享文件夹)。
方法三:打开文件夹窗口,点击我的电脑-->计算机-->映射网络驱动器,然后输入: \\WIN-7\file ,然后用服务器的用户名和密码登录即可访问共享文件夹。 (这种方法连接的时候要输入具体共享的文件名)
客户端使用任意端口访问文件服务器的TCP 445 端口的共享资源
方法四:在命令行中输入 net use \\ip\c$ /u:administrator root 。然后在文件夹中打开即可
默认共享
默认共享是为管理员管理服务器的方便而设,其权限不能更改,只要知道服务器的管理员账号和密码,不管其是否明确共享了文件夹,都可以访问其所有的分区。 查看默认共享:net share
如图,那么黑客只要知道了服务器 Administrator 用户的密码就可以访问其默认共享文件夹了
黑客还可以通过命令行把你的默认共享的盘符挂载到本地:net use k: \\10.96.10.59\c$ 把10.96.10.59计算机上的C盘挂载到本地的k盘,这里的认证用户只能是 administrator
然后你可以看到本地多了一个k盘,这正是远程主机上的C盘
net use 查看建立的文件共享
要删除此共享的话:net use k: /del
关闭默认共享
net share命令关闭默认共享
很明显,这是非常危险的。所以我们一般都会关闭默认共享
- net share ipc$ /delete 关闭ipc默认共享
- net share admin$ /delete 关闭admin账户目录共享
- net share c$ /delete 关闭c盘默认共享
- net share e$ /delete 关闭e盘默认共享
用net share命令来删除,但是机器重启后共享会自动出现。所以我们可以将命令保存为.bat批处理文件,然后把这个批处理文件拖到“程序”→“启动”项,这样每次开机就会运行它,也就是通过net命令关闭共享。
注册表关闭默认共享
禁止C$、D$管理共享(如果没有则新建):
- HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters
- Name:AutoShareServer
- Type:DWORD
- Value:0
禁止ADMIN$缺省共享:
- HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters
- Name:AutoShareWks
- Type:REG_DWORD
- Value:0x0
限制IPC$缺省共享:
- HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa
- Name:restrictanonymous
- Type:REG_DWORD
- Value:0x0(缺省) 0x1 匿名用户无法列举本机用户列表 0x2 匿名用户无法连接本机IPC$共享 说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server。
关闭共享服务
更彻底点的,文件打印共享和共享文件,很多人用不到,可以直接停掉该服务。
- 直接关闭文件网卡上的 Microsoft 网络的文件和打印共享功能
- 关闭服务管理里面的Server服务
共享文件夹权限
用户必须拥有适当的共享权限才可以访问共享文件夹。共享权限的种类与其所具有的访问能力如下
共享权限和NTFS权限的联系和区别
- 共享权限是基于文件夹的;NTFS 权限是基于文件的
- 共享权限只有当用户通过网络访问共享文件夹时才起作用;NTFS 权限无论用户是通过网络还是本地登录使用文件都会起作用
- 共享权限与文件操作系统无关,只要设置共享就能够应用共享权限;NTFS 权限必须是NTFS 文件系统,否则不起作用
- 共享权限只有几种:读者,参与者,所有者;NTFS 权限有许多种,如读,写,执行,修改,完全控制等,我们可以进行非常细致的设置
共享权限和 NTFS 权限的特点
- 不管是共享的权限还是 NTFS 权限都有累加性。
- 不管是共享权限还是 NTFS 权限都遵循“拒绝”权限超越其他权限。
- 当一个账户通过网络访问一个共享文件夹,而这个文件夹又在一个 NTFS 分区上,那么用户最终的权限是它对该文件夹的共享权限与 NTFS 权限中最为严格的权限
文件服务器资源管理器的搭建
使用文件服务器资源管理器高级工具功能
- 文件夹和卷设置配额
- 主动屏蔽文件,并生成全面的存储报告
角色,添加角色,选择文件服务,然后再选择文件服务器资源管理器,接着选择磁盘安装即可
配额管理:配额管理在文件服务器资源管理器内是以磁盘或文件夹为单位,不论用户是谁,设置配的文件夹总量不允许超过目录配额的限制。
文件屏蔽:可以限制文件夹存放的文件类型 可以指定某个文件夹的能够存放的文件类型,是基于文件的扩展名来控制的。 通过创建文件屏蔽来控制用户可以保存的文件类型以及在用户尝试保存未经授权的文件时生成通知。 定义可以应用于新的卷或文件夹以及可以在整个组织中使用的文件屏蔽模板。 创建增强文件屏蔽规则灵活性的文件屏蔽例外。
-
常用文件服务器
2019-03-16 15:20:13常用文件服务器: (主要说一些基础知识,配置过程简单,可以百度下,小编主要整理下知识点) 一、FTP 服务器 软件包: vsftpd FTP端口: 控制端口 21/tcp 数据端口 20/tcp (主动模式) 配置文件: /etc/vsftpd/... -
写给大忙人看的 - 搭建文件服务器 MinIO(一)
2020-05-09 17:01:33还在为搭建文件服务器环境复杂的操作而烦恼吗? 下面跟着我一起花三分钟搭建一个超实用的文件服务器 一、下载安装 中文官网地址: https://docs.min.io/cn/ 下载地址: GNU/Linux:... -
文件服务器实现思路
2019-06-06 09:43:06C/C++文件服务器主要是 FDFS (FastDFS)文件存储系统的一个文件代理。文件服务支持 HTTP 协议,支持上传,下载基本功能,支持秒传文件(如果文件曾经上传到服务器,服务会记录文件信息,不用再次上传),这些文件... -
使用Nginx搭建目录服务器【文件服务器】
2019-01-03 12:45:45文章目录使用Nginx搭建目录服务器【文件服务器】1、下载nginx2、解压压缩包3、修改配置文件4、访问服务器 使用Nginx搭建目录服务器【文件服务器】 1、下载nginx 地址:Nginx 下载链接 2、解压压缩包 3、修改配置... -
文件怎么安全的上传到文件服务器?
2017-12-07 02:09:03我们在PC端获取获取文件服务器上面的文件。 web端,PC端,文件服务器都是在不同的服务器上。 1、web端上传的文件怎么安全的上传到文件服务器上?FTP上传吗? 2、直接访问文件服务器是不允许的进行文件下载的。 3、... -
Springboot搭建文件服务器
2019-05-20 17:37:55笔者最近遇到了一个需求,需要搭建一个文件服务器,用于上传文件(.txt格式等)和图片(.jpg格式等)。 下面演示怎么上传txt文件和上传头像(.jpg),如有需要可自行修改后缀名进行拓展。 准备工作: 配置文件以及配置... -
springboot上传下载文件(2)---搭建独立的文件服务器
2018-09-07 08:35:13哇!chrome的自动网页翻译,把...springboot上传下载文件(2)---搭建独立的文件服务器 springboot上传下载文件(3)--java api 操作HDFS集群+集群配置 springboot上传下载文件(4)--上传下载工具类(已封装) ... -
文件服务器存储解决方案探索
2019-02-25 21:49:54文件服务器(file servers)是一种器件,它的功能就是向服务器提供文件。 它加强了存储器的功能,简化了网络数据的管理。 它一则改善了系统的性能,提高了数据的可用性,二则减少了管理的复杂程度,降低了运营费用。... -
通过Everything 快速搭建局域网内文件服务器
2019-09-04 20:09:08通过Everything 快速搭建局域网内文件服务器 1、软件下载 传送门 安装软件请自行完成,一路next 2、通过工具里面的Http 服务器构建局域网文件服务器 打开软件 点击选项 打开选项面板的http 服务器,勾选启用 ... -
Windows Server2012R2文件服务器安装与配置
2019-10-11 13:08:45一、文件服务器的基础说明 文件服务器是企业里面用的最多的服务器之一,它主要用于提供文件共享。 为了配合文件服务器的权限管理,从Windows Server 2008新增了文件服务器资源管理器,其实在Windows Server 2003里面... -
搭建一台文件服务器
2017-08-22 11:00:44搭建一台文件服务器 -
web项目-文件下载(文件服务器-应用服务器-客户端)
2017-11-24 16:09:31文件的下载一直都是web项目中的常用功能,但是在我们公司项目中,项目上线后单下载功能方面都可以简单易懂的说分为三个部分,即文件服务器、应用服务器和客户端,而我们在上传的时候都是将上传保存到文件服务器(也... -
四种方式搭建文件服务器
2020-04-03 13:01:12准备搭建个文件服务器来玩玩,百度了一圈,找到了主流的四种搭建服务器的方式,并且把它部署到了我的阿里云服务器上。 四种搭建文件服务器的方式: 第一种:Nginx自带的,autoIndex. 优点:配置快,开发速度最... -
tomcat 搭建文件服务器 下载目录和服务器分离
2017-10-26 19:50:57tomcat 搭建文件服务器 下载目录和服务器分离 问题:文件上传下载在tomcat服务器目录下,会因为更新web应用或错误操作而导致文件被tomcat自动删除。 需求:tomcat 文件服务器 支持断点下载 支持... -
c++文件服务器架构逻辑
2016-11-08 08:41:28文件服务器,fastdfs -
阿里云服务器ECS 第一篇:FTP文件服务器搭建
2017-12-08 16:51:41云服务器ECS 第一篇:FTP文件服务器搭建 目前打算将项目部署到云服务器上,并配置系统运行环境,搭建FTP服务器是系统部署的第一步,从这里开始!!! 关于FTP: FTP 是File Transfer Protocol(文件传输协议)的... -
nginx搭建文件服务器
2016-12-21 16:37:34接前篇blog《nginx搭建文件服务器获取上传进度》,这篇blog主要讲文件下载。如果下载不需要权限控制, 那么就简单了,直接用nginx提供静态文件下载就可以了,可是大部分场景是需要权限判断的。后台准备用tornado框架... -
文件服务器与web服务器分离的的
2016-04-06 20:35:52文件服务器:文件的上传与下载等单独放在一个服务器上处理 要实现的功能是:在一台网络服务器上启动了tomcat服务器,运行一个很大的网站,用户可以登录网站,然后上传文件和照片等,由于担心硬盘空间的问题,... -
golang实现的文件服务器
2019-06-06 15:09:26最近在学习golang,使用golang实现了一个最简单的文件服务器,程序只有简单的十多行代码,可以编译成windows, linux, mac多平台可执行文件。 源码 package main import ( "fmt" "net/http" "os" "path/... -
小白,文件服务器如何搭建?
2017-12-06 06:47:52系统现有很多需要上传的excel,word,ppt等文件,还有一些视频,据说这个...搭建一个文件服务器,专门用来存放文件,下载的时候,只需要一个连接就可以? 请问这个文件服务器如何搭建?是和发布系统的服务器一样的么? -
WindowsServer2016系统中,快速搭建FTP服务器,作为文件服务器
2019-06-24 17:02:20WindowsServer2016系统中,快速搭建FTP服务器,作为文件服务器,下面分三步说明: 安装IIS和FTP服务 配置FTP服务 测试FTP 一、安装IIS和FTP服务 首先点击开始菜单,进入找到服务器管理器,点击打开。 进入后... -
关于JS访问文件服务器的HTTP文件地址实现文件下载
2016-06-30 12:36:26需要改造成将文件生成到 文件服务器路径下,然后以http的形式直接进行文件访问、下载。 我想这个访问http地址显示文件的方式,大家应该都回使用到,比如:需要加载远程图片时。而现在需要实现的是文件下载... ... -
利用Tomcat搭建文件服务器
2018-07-15 13:47:36原文地址:https://blog.csdn.net/q1242027878/article/details/72876511通过Tomcat搭建文件服务器步骤非常简单,只需要在conf/web.xml文件里面修改一个语句就可以啦,找到tomcat的安装目录,打开conf目录下的web.... -
上传文件服务器搭建
2016-10-19 15:57:39有需求需要搭建一个上传文件服务器,最开始考虑使用Nginx+upload模块,后台php处理,后来尝试了一下tomcat+spring方法,都可以满足需求。Nginx + upload module网上的配置文章比较多,这里只是记录一下出现的坑吧。1...