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