fastdfs文件夹,fastdfs存储文件的位置

http://www.itjxue.com  2023-01-06 08:33  来源:未知  点击次数: 

fdfs文件服务环境搭建详细教程

Linux环境搭建少不了FastDFS的安装,本文记录Linux环境下安装fdfs的步骤。

将安装包上传至服务器

环境安装好的跳过此步骤

[图片上传失败...(image-c15bdd-1652446961897)]

libfatscommon 是 FastDFS 分离出的一些公用函数包,解压之后进入libfastcommon目录,执行 ./make.sh 和 ./make.sh install

同上,进入解压目录执行执行 ./make.sh 和 ./make.sh install

编译成功之后进入 /etc/fdfs ,会出现 client.conf.sample 客户端文件、 storage.conf.sample 、 tracker.conf.sample 两个基础配置文件,将这三个文件复制

再将fastdfs-5.05下conf文件夹中的http.conf和mime.types拷贝到 /etc/fdfs/中供nginx访问使用

[图片上传失败...(image-45d78d-1652446961897)]

执行命令 vim /etc/fdfs/tracker.conf

base_path=/data/fastdfs/tracker

修改如下:

[图片上传失败...(image-280bff-1652446961897)]

执行命令 service fdfs_trackerd start

启动成功后,在 /data/fastdfs/tracker 中找到两个新文件

[图片上传失败...(image-8bcea-1652446961897)]

大致流程和tracker配置一样

执行命令 vim /etc/fdfs/storage.conf ,修改内容:

store_path0=/data/fastdfs/file

tracker_server=192.168.18.125:22122

http.server_port=8086

日志文件存储路径

[图片上传失败...(image-e550a9-1652446961897)]

文件存储路径

[图片上传失败...(image-23e2c1-1652446961897)]

填写服务器ip(云服务器填内网ip)

[图片上传失败...(image-6c8618-1652446961897)]

执行命令 service fdfs_storaged start

启动成功后,在 /data/fastdfs/storage 中找到两个新文件

[图片上传失败...(image-49a113-1652446961897)]

执行 /usr/bin/fdfs_monitor /etc/fdfs/storage.conf ,成功如下

[图片上传失败...(image-f6a0ef-1652446961897)]

执行命令 vim /etc/fdfs/client.conf ,修改内容:

如图所示

[图片上传失败...(image-aa4a20-1652446961897)]

在 /data/fastdfs 下编写一个测试文件

[图片上传失败...(image-3e14e4-1652446961897)]

执行命令 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/fastdfs/test.txt

[图片上传失败...(image-395d27-1652446961897)]

成功返回文件路径,如图:

[图片上传失败...(image-80da85-1652446961897)]

如果出现错误,请检查(tracker.conf、storage.conf、client.conf)base_path、store_path0配置路径是否正确路径需要一致。

上述文件如果想要在web上查看,就需要配置nginx和fastdfs-nginx-module模块

进入fastdfs-nginx-module-master/src中,执行命令 cp mod_fastdfs.conf /etc/fdfs /将mod_fastdfs.conf文件复制到/etc/fdfs/目录下

执行命令 vim /etc/fdfs/mod_fastdfs.conf 修改 mod_fastdfs.conf 文件

[图片上传失败...(image-38e7af-1652446961897)]

fastdfs-nginx-module-master/src/config文件

进入到nginx文件夹中,执行命令 ./configure --add-module=/data/soft/fastdfs-nginx-module-master/src (module后面是fastdfs-nginx-module-master的解压路径)

然后安装nginx,执行命令 make make install ,安装成功编辑nginx.conf

[图片上传失败...(image-ad1b90-1652446961897)]

修改监听端口为 8086 (和前面配置的端口一致),添加如下内容:

重启nginx之后,开放指定端口

如果需要其他代理访问,需要监听配置这台服务器的8086端口。

如果 unknown directive “ngx_fastdfs_module” in /usr/local/nginx/conf/nginx.conf:151 ,可能是nginx一直是启动的,必须要重启nginx才可以, nginx -s reload 无效。

nginx和之前配置一样

fastdfs 端口必须跟网站分开吗

是可以不分开的。

可以按照下面的步骤来进行操作:

解决方案1:

fdfs_storaged.service - LSB: FastDFS storage server

Loaded: loaded (/etc/rc.d/init.d/fdfs_storaged)

Active: active (exited) since Fri 2016-07-08 15:53:03 CST; 18min ago

Docs: man:systemd-sysv-generator(8)

Process: 26569 ExecStart=/etc/rc.d/init.d/fdfs_storaged start (code=exited, status=0/SUCCESS)

解决方案2:

查日志,启动状态异常。

转载:如何提升磁盘IO性能

目前,磁盘是机械操作的,主要是在读取和写入磁盘之前查找磁道的过程中。磁盘附带的读写缓存大小对磁盘读写速度至关重要。具有快速读写的磁盘通常具有较大的读写缓存。磁盘的查找过程是机械的,它确定其随机读写速度将明显低于顺序读写。当我们进行系统设计和实现时,我们需要考虑磁盘的这个特性。

FastDFS是一个开源且高效的分布式文件系统。它的初始实现,文件以散列模式随机分布到多个目录,后来又添加了顺序存储实践。通过比较测试,发现文件按目录顺序存储,写文件的效率明显高于目录随机存储的效率。

目前,磁盘顺序读取的速度还不错。例如,普通硬盘的IO可以达到每秒40~60MB,更好的硬盘可以达到每秒100MB左右。在多进程或多线程并发读取磁盘的情况下,随着并发数量的增加,磁盘IO效率将大大降低。主要是因为每次读取和写入,轨道可能具有大的偏移,并且轨道寻址时间增加,导致磁盘IO的性能急剧下降。对于此方案,优化方案是最小化并发读取和写入的进程或线程的数量。您可以使用锁定机制或专用磁盘IO线程来读取和写入磁盘。在FastDFS 2.x版本中,磁盘读取和写入是使用专用线程完成的。

为了充分利用多个磁盘的效率,建议不要使用传统的RAID方法。一个好的做法是分别安装每个磁盘,并通过程序控制多个磁盘的并发读写。使用单个磁盘安装,可以使用多台计算机实现文件备份和冗余。

在大量文件(例如数千万个文件)之后,当随机访问许多文件时,文件系统的性能将急剧下降。业界流行的做法是通过将多个小文件组合成一个大文件来减少文件数量。 FastDFS 3.0支持将多个小文件合并和存储到一个大文件中。发展进度相对平稳。预计3.0版将于5月发布。

改进磁盘IO的另一个技巧是尽可能多地写入或尽可能多的读取。换句话说,将程序的读写缓冲区设置得尽可能大。例如,日志或重做日志写入,不是每次都直接写入磁盘,而是先缓存到内存中,然后在缓冲区满时写入磁盘,也可以定期写入磁盘。

操作系统和C库函数通常会缓存写入文件的内容,以减少实际写入文件的次数。直接调用系统函数fsync或C函数fflush将使系统的缓存机制无效,这将强制将内容刷新到磁盘。除非必要,否则不要执行强制刷牙操作。如果在操作过程中不慎将重要的数据弄丢了,可以用闪灵数据恢复找回数据;如果有重要的资料不希望别人进行查看等操作,可使用闪灵文件夹锁进行加锁。

如何安装FastDFS

目前FastDFS支持类Unix系统 ,在Linux和FreeBSD下测试过,本文使用的是Ubuntu10.4,建议安装之前先简单了解一下FastDFS的原理 ,这对后继的配置部分会有很好的理解。

一、准备工作-安装libevent

FastDFS 内部绑定了 libevent 作为 http 服务器 ,在V2.X版本必须安装 libevent ,本文安装的是V2.2版本,因此必须安装libevent。(官方也推荐使用 http 方式下载 文件 )

如果已经安装了 libevent,请确认安装路径是 /usr , 因为 FastDFS 在编译源程序时,需要到此目录下查找一些依赖文件,否则编译 FastDFS 会出错 。如果不是,建议首先卸载 libevent ,然后安装到 /usr 下。Ubuntu10.4默认是安装了libevent,可以到软件中心卸载掉然后按照下面介绍的方式安装。

安装步骤:

解压 libevent ,然后进入解压后的目录分别执行:

Shell代码

./configure --prefix=/usr

make clean;

make

make install

安装libevent完成。

二、安装 FastDFS

1、下载 FastDFS 源程序

2、在 FastDFS_v4.05.tar.gz 所在文件夹下执行:

Shell代码

sudo tar vxzf FastDFS_v4.05.tar.gz /home/soar/FastDFS

注: /home/soar/FastDFS 也可以是其他目录,记住这是解压目录,以后用 %FastDFS% 表示)

3、由于要使用内置的 http 服务,因此编辑 %FastDFS%/make.sh 文件,找到

#WITH_HTTPD=1

修改成

WITH_HTTPD=1

以支持 http

4、进入 %FastDFS% 目录,执行:

Shell代码

sudo ./make.sh

5、在 %FastDFS% 目录下,执行:

Shell代码

sudo ./make.sh install

如果运行如上命令后,在命令行信息最后看到类似

Shell代码

#ln -fs /usr/local/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so

#ln -fs /usr/local/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so

sh ./fdfs_link_library.sh

恭喜你,已经安装成功了!

FastDFS的配置文件在%FastDFS%/conf目录下,其中包括

Client.conf 客户端上传配置文件

Storage.conf 文件存储服务器配置文件

Tracker.conf 负责均衡调度服务器配置文件

http.conf http服务器配置文件

配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档,以及FastDFS原理介绍文档

在本例中,Tracker Server,Storage Server都安装在一台服务器上,IP:10.0.2.15

1、配置及启动Tracker Server

A、修改%FastDFS%/conf/tracker.conf文件,修改如下

#可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动

Txt代码

base_path=/home/yuqing/fastdfs - base_path=/home/soar/fastdfs_tracker

#改成你想要的http端口,将来http下载文件的端口就是他了

Txt代码

http.server_port=8080 - http.server_port=8090

#http支持

Txt代码

##include http.conf - #include http.conf

#默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动

Txt代码

reserved_storage_space = 4GB - reserved_storage_space = 1GB

#tracker server对storage server供服务的端口,使用默认的即可,也可以自定义

Txt代码

port=22122

B、将http.conf文件拷贝到/etc/fdfs目录下,执行

Shell代码

sudo cp %FastDFS%/conf/http.conf /etc/fdfs/

注:为了支持http,必须将这个文件拷贝到此目录,否则无法启动,报param http.XXX not exist or is empty类似的错误

C、进入/usr/local/bin/目录,启动tracker服务器,执行

Shell代码

sudo fdfs_trackerd %FastDFS%/conf/tracker.conf

D、进入/home/soar/fastdfs_tracker/logs/trackerd.log查看tracker的启动日志,如果看到类似

Shell代码

[2010-11-04 16:21:25] INFO - FastDFS v2.02, base_path=/home/soar/fastdfs_tracker, connect_timeout=30s, network_timeout=60s, port=22122, bind_addr=, max_connections=256, work_threads=4, store_lookup=2, store_group=, store_server=0, store_path=0, reserved_storage_space=4MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=86400s, storage_sync_file_max_time=300s

[2010-11-04 16:21:25] INFO - HTTP supported: server_port=8090, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, check_active_interval=30, check_active_type=tcp, check_active_uri=/status.html

恭喜你,tracker server已经启动成功!

2、配置及启动Storage Server

A、修改%FastDFS%/conf/storage.conf文件,修改如下:

#可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息

Txt代码

base_path=/home/yuqing/fastdfs - /home/soar/fastdfs_storge

#文件的存储位置,在一台storage server上可以指定多个存储位置

Txt代码

store_path0=/home/yuqing/fastdfs - store_path0=/home/soar/fastdfs_storge

#必须指定

Txt代码

group_name=group1

#修改成tracker server的IP和端口信息

Txt代码

tracker_server=192.168.209.121:22122 - tracker_server=10.0.2.15:22122

#http支持

Txt代码

##include http.conf -#include http.conf

B、进入/usr/local/bin/目录,启动storage服务器,执行

Shell代码

sudo fdfs_storaged %FastDFS%/conf/storage.conf

C、进入/home/soar/fastdfs_tracker/logs/storage.log查看storage服务器启动日志,如果看到类似

Shell代码

[2010-11-04 16:37:16] INFO - FastDFS v2.02, base_path=/home/soar/fastdfs_storge, store_path_count=1, subdir_count_per_path=256, group_name=group1, connect_timeout=30s, network_timeout=60s, port=23000, bind_addr=, client_bind=1, max_connections=256, work_threads=4, disk_rw_separated=1, disk_reader_threads=1, disk_writer_threads=1, buff_size=256KB, heart_beat_interval=30s, stat_report_interval=60s, tracker_server_count=1, sync_wait_msec=200ms, sync_interval=0ms, sync_start_time=00:00, sync_end_time=23:59, write_mark_file_freq=500, allow_ip_count=-1, file_distribute_path_mode=0, file_distribute_rotate_count=100, fsync_after_written_bytes=0, sync_log_buff_interval=10s, sync_binlog_buff_interval=60s, sync_stat_file_interval=300s, thread_stack_size=512 KB, upload_priority=10, if_alias_prefix=, check_file_duplicate=0, FDHT group count=0, FDHT server count=0, FDHT key_namespace=, FDHT keep_alive=0, HTTP server port=8888, domain name=

[2010-11-04 16:37:16] INFO - HTTP supported: server_port=8888, http_trunk_size=262144, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0

[2010-11-04 16:37:16] INFO - file: storage_param_getter.c, line: 48, storage_ip_changed_auto_adjust=1

[2010-11-04 16:37:19] INFO - file: tracker_client_thread.c, line: 274, successfully connect to tracker server 10.0.2.15:22122, as a tracker client, my ip is 10.0.2.15

恭喜你,storage server已经启动成功!

经过前面的安装、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。

一、上传文件

FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。

1、修改%FastDFS%/conf/client.conf文件,修改如下:

#可自定义,但此目录必须存在,用于存放文件上传log

Txt代码

base_path=/home/yuqing/fastdfs- base_path=/home/soar/fastdfs_tracker

Txt代码

tracker_server=192.168.209.121:22122 - tracker_server=10.0.2.15:22122

Txt代码

http.tracker_server_port=8080 -http.tracker_server_port=8090

#支持http

Txt代码

##include http.conf -#include http.conf

2、进入/usr/local/bin/目录,上传文件,执行

Txt代码

sudo fdfs_test %FastDFS%/conf/client.conf upload a.txt

注:a.txt可以在/usr/local/bin/目录下自己创建一个

如果命令行反馈类似如下:

则说明上传文件成功。

关于fastdfs集群和备份配置

1、修改tracker.conf文件中store_lookup=2 平衡负载

2、修改tracker.conf文件中store_server=0 采用轮询方式。

如果希望只使用一台文件存储服务器,其他二台做备份,则修改文件tracker_server为某台主机的IP,只启动文件存储服务器的tracker,其他二台备份服务器不需要启动tracker。

如果希望三台服务器集群使用,互相备份,比如:使用A机器存储文件,这时候A机器会将文件同步到B机器和C机器,同理使用B机器存储文件,则会同时将文件同步到A机器和C机器。这时候需要将所有的机器IP和端口号

都配置在storage.conf中,如下所示:

tracker_server=10.207.16.127:22122

tracker_server=10.207.16.129:22122

fastdfs是流氓软件吗?

电脑上已经有了流氓软件,一般流氓软件都会想利用IE进行捆绑。解决方法:第一步:我们可以通过IE中插件管理来定位流氓软件的位置。

打开"IE"-工具-internet选项-程序-管理加载项

然后会列出很多IE插件,我们要做的只是观察插件的发行者,如果看到发行者前面有个“未验证”的话,我推荐别管它起什么作用,禁用,然后把不是 microsoft 的都禁用了,不用担心会关闭某些有用的插件,比方说播放网页中flash的插件,就算我们关闭了,以后IE会提示你。在状态栏上有个齿轮的符号,双击打开,然后它会提示你需要哪个插件,你到时候再恢复也不迟。

第二步:记录下刚才被基本怀疑为流氓软件的插件(Dll文件)的名字,然后到搜索中对系统进行搜索,一般来说,大部分流氓软件都会安装到x:Program Files下面,找到流氓软件安装的文件夹,先尝试删除,应该是没办法删除的,系统会跳出个窗口——“某文件正在被使用”,那么说明你刚才光在IE里清除是不够的,因为流氓软件已经将其自己加载到rundll32.exe进程中了。

第三步:我们要使用icesword进行操作了。打开 icesword,然后选进程,找到rundll32.exe(有时候可能会有几个,如果有多个的话,一个一个操作),点右键选择“模块信息”,在模块里找到你刚才没办法删除的dll文件,现在强行结束这个rundll32.exe进程,然后回到Program Files下,先别急着删除。现在打开regedit.exe开始搜索dll插件(就是你刚才在rundll32模块里找到的那个流氓软件的插件),找到一处就点右键删除注册键值,然后按F3继续搜索,直到跳出个窗口说搜索完毕了,那就说明你已经很干净地清除了流氓软件,删除刚才找到的文件夹,重新启动电脑吧,怎么样,世界干净了!

注册表的操作有几个注意点:

1、不要乱删键值,如果不小心删除了某个重要的数据,电脑可能会发生问题的。

2、regedit.exe里搜索时候,先点最顶端的我的电脑(注意:是注册表编辑器里的“我的电脑”),这样注册表搜索能搜索得最彻底。

注意:流氓软件有时候会同时用两个或以上的dll文件对IE进行捆绑,所以要把刚才的步骤做几次,一个一个的解除dll文件对IE的捆绑。

后记:流氓软件的确挺可怕(比当年冰河木马的保护措施都先进,而且好多防火墙都不警报),但是大家能通过这篇文章对流氓软件有个了解的话,相信大家以后见到流氓软件不会那么慌了。其实大家完全不用担心流氓软件无法清楚,只能重装系统,其实不然,因为流氓软件毕竟只是一种恶意软件而已,还没达到木马的境界,所以不可能想某些木马使用添加驱动程序方式来实现rootkit(完全隐藏文件和进程以及网络传送的数据包)。总之,对于流氓软件,我们完全可以尝试自己手工删除它,不用在乎它的防护功能做的多先进,是软件总有它的漏洞的,我们只要小小利用下,就会有意想不到的收获!

fastdfs文件夹可以删吗

fastdfs文件夹不可以删。根据查询相关资料信息,fastdfs文件夹是系统的基本运行程序,删除后会导致系统的运行程序出现错误,出现卡顿死机的情况,不能删除。

(责任编辑:IT教学网)

更多

推荐管理维护文章