将安装包上传至服务器
环境安装好的跳过此步骤
[图片上传失败...(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和之前配置一样
一、准备安装包
libfastcommon:FastDFS分离出的一些公用函数包
FastDFS:FastFDS本体
fastdfs-nginx-module:FastFDS和nignx的关联模块
nginx:发布访问服务
二、安装
0.将安装包上传至/home/software/fastdfs
1.安装基础环境
yum install -y gcc gcc-c++
yum -y install libevent
2.安装libfastcommon函数库
解压: tar -zxvf libfastcommon-1.0.42.tar.gz
进入到libfastcommon文件夹:./make.sh
./make.sh install
3.安装fastdfs主程序文件
解压:tar -zxvf fastdfs-6.04.tar.gz
进入fastdfs目录:./make.sh
./make.sh install
4.确保文件夹存在
/usr/bin:包含了可执行文件
/etc/fdfs:包含了配置文件
5.拷贝配置文件 cp /home/software/FastDFS/fastdfs-6.04/conf/* /etc/fdfs/
三、配置tracker
1.配置tracker配置文件
cd /etc/fdfs
vim tracker.conf
2.修改基础路径
base_path=/usr/local/fastdfs/tracker
mkdir /usr/local/fastdfs/tracker
3.启动tracker服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
4.查看进程 ps -ef|grep tracker
5.停止tracker
/usr/bin/stop.sh /etc/fdfs/tracker.conf
四、配置storage
1.配置storage配置文件
cd /etc/fdfs
vim storage.conf
#修改组名
group_name=imooc
# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口号,用于心跳
tracker_server=192.168.1.153:22122
# 后续结合nginx的一个对外服务端口号
http.server_port=8888
2.创建目录 mkdir /usr/local/fastdfs/storage -p
3.启动storage(前提:必须先启动tracker) /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
4.查看进程: ps -ef|grep storage
五、测试图片上传
0.创建/usr/local/fastdfs/client后,配置/etc/fdfs/client.conf
base_path=/usr/local/fastdfs/client
tracker_server=192.168.1.153:22122
1.上传测试图片至/home/logo.png
2.确保先启动tracker,再启动storage
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/logo.png
六、配置Nginx FastDFS实现文件服务器(按步骤来配置)
fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx,所以需要安装fastdfs第三方模块到nginx中,就能使用了。
注:nginx需要和storage在同一个节点
1.安装nginx插件
解压nginx的fastdfs压缩包:tar -zxvf fastdfs-nginx-module-1.22.tar.gz
复制配置文件:cp mod_fastdfs.conf /etc/fdfs
修改/fastdfs-nginx-modules/src/config文件,主要是修改路径,把local删除,因为fastdfs安装的时候我们没有修改路径
2.安装nginx,详情参考https://www.jianshu.com/p/65b48c4a6606
其中配置模块,增加fastdfs插件
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi --add-module=/home/software/fastdfs/fastdfs-nginx-module-1.22/src
修改nginx.conf,添加如下虚拟机
3.修改mod_fastdfs.conf配置文件
创建文件夹: mkdir /usr/local/fastdfs/tmp
4.启动nginx
5.访问 Ip+代理转发端口+storage存储组名
http://192.168.31.221:8888/imooc/M00/00/00/wKgf3V-eChSAdlnFAALdsLCF3uA337.JPG
目前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.confhttp服务器配置文件
配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档http://code.google.com/p/fastdfs/wiki/Setup,以及FastDFS原理介绍文档http://code.google.com/p/fastdfs/wiki/Overview
在本例中,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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)