git地址:https://github.com/happyfish100/libfastcommon.gitjava
安装:nginx
# cd libfastcommon-version # ./make.sh # ./make.sh install
git地址:https://github.com/happyfish100/fastdfsgit
下载release版本github
安装:vim
#tar xvf FastDFS_version #cd fastdfs-version #./make.sh # ./make.sh install
# cd /etc/fdfs # mv client.conf.sample client.conf # mv storage.conf.sample storage.conf # mv tracker.conf.sample tracker.conf
# 配置文件是否不生效,false 为生效 disabled=false # 提供服务的端口 port=22122 # Tracker 数据和日志目录地址(根目录必须存在,子目录会自动建立) base_path=/data/fastdfs/tracker # HTTP 服务端口 http.server_port=80
建立/data/fastdfs/tracker目录。服务器
启动app
# /etc/init.d/fdfs_trackerd start 或者 # service fdfs_trackerd start
关闭测试
# service fdfs_trackerd stop
Tracker服务启动成功后,会在base_path下建立data、logs两个目录。目录结构以下:url
${base_path} |__data | |__storage_groups.dat:存储分组信息 | |__storage_servers.dat:存储服务器列表 |__logs | |__trackerd.log: tracker server 日志文件
# 配置文件是否不生效,false 为生效 disabled=false # 指定此 storage server 所在 组(卷) group_name=group1 # storage server 服务端口 port=23000 # 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳) heart_beat_interval=30 # Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成) base_path=/data/fastdfs/storage # 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,一般只配一个目录。 store_path_count=1 # 逐一配置 store_path_count 个路径,索引号基于 0。 # 若是不配置 store_path0,那它就和 base_path 对应的路径同样。 store_path0=/data/fastdfs/file # FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。 # 若是本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动建立 N * N 个存放文件的子目录。 subdir_count_per_path=256 # tracker_server 的列表 ,会主动链接 tracker_server # 有多个 tracker server 时,每一个 tracker server 写一行 tracker_server=外网ip:22122 # 容许系统同步的时间段 (默认是全天) 。通常用于避免高峰同步产生一些问题而设定。 sync_start_time=00:00 sync_end_time=23:59 # 访问端口 http.server_port=80
建立/data/fastdfs/storage、/data/fastdfs/file目录spa
# /etc/init.d/fdfs_storaged start 或 # service fdfs_storaged start
关闭
# service fdfs_storaged stop
同 Tracker,Storage 启动成功后,在base_path 下建立了data、logs目录,记录着 Storage Server 的信息。
在 data 目录下,建立了N*N个子目录:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
# Client 的数据和日志目录 base_path=/data/fastdfs/client # Tracker端口 tracker_server=外网ip:22122
上传测试
#/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg
返回值:group1/M00/00/00/rBCUzlqxvxKAQxCSAABsWIKknWM042.jpg
返回的文件ID由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。
安装省略。
#编辑nginx.conf vim /usr/local/nginx/conf/nginx.conf 添加以下行,将 /group1/M00 映射到 /data/fastdfs/file/data location /group1/M00 { alias /data/fastdfs/file/data; } # 重启nginx # /usr/local/nginx/sbin/nginx -s reload
访问url
http://外网ip/group1/M00/00/00/rBCUzlqxvxKAQxCSAABsWIKknWM042.jpg
git地址:https://github.com/happyfish100/fastdfs-client-java