CentOS6.5安裝FastDFS

1.安裝gcc(c語言開發,需要使用gcc編譯)

命令:yum install make cmake gcc gcc-c++

2.安裝libevent(fastdfs依賴類庫)

命令:yum -y install libevent-devel

3.下載libfastcommon源碼[目錄:/usr/local/src/]

4.解壓源碼[目錄:/usr/local/src/]

命令:tar -zxvf libfastcommonV1.0.7.tar.gz

5.編譯安裝[目錄:/usr/local/src/libfastcommon-1.0.7]

命令:./make.sh && ./make.sh install

6.拷貝libfastcommon.so文件到/usr/lib[目錄:/usr/lib64]

命令:cp /usr/lib64/libfastcommon.so /usr/lib

注意:libfastcommon安裝好后會自動將庫文件拷貝至/usr/lib64下,由于FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下

7.下載FastDFS源碼[目錄:/usr/local/src]

8.解壓源碼[目錄:/usr/local/src]

命令:tar -zxvf FastDFS_v5.05.tar.gz

9.編譯安裝

命令:./make.sh && ./make.sh install

10.拷貝配置文件[目錄:/usr/local/src/fastdfs-5.05/conf]

命令:cp * /etc/fdfs/

11.安裝tracker(調度服務器)

備注:tracker運行程序就是fasfdfs,fastDFS安裝成功,只需要修改/etc/fdfs/tracker.conf

配置文件[目錄:/etc/fdfs]

步驟一,修改base_path存儲基本路徑

base_path=/home/fastdfs ? ?//fastdfs需要手動創建,fastdfs在home目錄下

步驟二,修改存在組

store_group=group1

步驟三,創建/home/fastdfs文件[目錄:/home]

命令:mkdir fastdfs

12.啟動tracker

命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

結果:waiting for pid [9077] exit ...

starting ...

13.安裝storage(存儲服務器)

備注:storage和fastDFS都是使用同一個程序。只需要配置storage配置文件即可。

配置storage.conf[目錄:/etc/fdfs]

步驟一,配置組名

group_name=group1 ? ?//必須和tracker的組名相同

步驟二,配置基本存儲路徑base_path

base_path=/home/fastdfs

步驟三,配置文件存儲路徑

store_path0=/home/fastdfs/storage_path //storage_path需要手動創建,如果有多個存儲路徑,就可以依次往下順延

步驟四,修改連接tracker服務器地址

tracker_server=127.0.0.1:22122

步驟五,創建文件存儲路徑storage_path[目錄:/home/fastdfs]

命令:mkdir storage_path

14.啟動storage服務

命令:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

結果:waiting for pid [9132] exit ...

starting ...

15.配置FastDFS的client.conf配置文件[目錄:/usr/local/src/fastdfs-5.05/conf][目錄:/etc/fdfs/]

步驟一,修改路徑

#filesbase_path=/home/fastdfs

步驟二,修改調度服務器地址

tracker_server=127.0.0.1:22122

16.測試上傳[目錄:/usr/local/src/fastdfs-5.05/conf]

命令:/usr/bin/fdfs_test client.conf upload anti-steal.jpg

結果:example file url:http://192.168.66.66/group1/M00/00/00/wKhCQlc1uJOAYKOhAABdrZgsqUU338_big.jpg

備注:圖片已經上傳成功,返回圖片地址,但是不能使用瀏覽器訪問,瀏覽器訪問任何資源都必須遵循http協議,通過nginx訪問分布式圖片服務器,需要nginx和FASTDFS整合

17.安裝Nginx

18.整合nginx和fastDFS

19.下載FastDFS-nginx-module[目錄:/usr/local/src]

20.解壓源碼[目錄:/usr/local/src]

命令:tar–zxvf fastdfs-nginx-module_v1.16.tar.gz

21.修改config配置文件[目錄:/usr/local/src/fastdfs-nginx-module/src]

兩處位置去掉錯誤路徑,usr/local/include改為usr/include

22.拷貝mod_fastdfs.conf到etc/fdfs[目錄:/usr/local/src/fastdfs-nginx-module/src]

命令:cp mod_fastdfs.conf /etc/fdfs/

23.修改mod_fastdfs.conf配置文件[目錄:/usr/local/src/fastdfs-nginx-module/src][目錄:/etc/fdfs/]

a)base_path=/home/fastdfs/storage_path //此處必須是存儲路徑

b)tracker_server=127.0.0.1:22122

c)group_name=group1 //和前面配置組名保持一致

d)store_path0=/home/fastdfs/storage_path //M00

e)url_have_group_name = true //允許使用組名

24.拷貝庫文件[目錄:usr/lib64]

備注:將usr/lib64目錄下庫文件libfdfsclient.so拷貝到usr/lib目錄下

命令:cp /usr/lib64/libfdfsclient.so /usr/lib

25.整合(module添加nginx)[目錄:/usr/local/src/nginx-1.8.0]

命令:./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/

26.重新安裝編譯nginx[目錄:/usr/local/src/nginx-1.8.0]

命令:make && makeinstall

27.修改Nginx配置文件[目錄:/usr/local/src/nginx-1.8.0/conf]

listen 8888; //nginx里的端口要和配置FastDFS存儲中的storage.conf文件配置一致

server_name 127.0.0.1;

location /group1/M00/ {

#root html;

#index index.html index.htm;

ngx_fastdfs_module;

}

28.重新啟動Nginx

啟動命令:

啟動tracker命令:/etc/init.d/fdfs_trackerd start

查看進程命令:ps -el | grep fdfs

啟動storage命令:/etc/init.d/fdfs_storaged start

查看進程命令:ps -el | grep fdfs

啟動nginx命令:/usr/local/nginx/sbin/nginx

停止命令:

停止tracker命令:/etc/init.d/fdfs_trackerd stop

關閉storage命令:/etc/init.d/fdfs_storaged stop

關閉nginx命令:/usr/local/nginx/sbin/nginx -s stop

刪除上傳文件:

/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/地址

29.java連接FastDFS服務器

配置文件內容:

connect_timeout = 20? ? //連接超時時間

network_timeout = 30? ? //網絡超時時間

charset = ISO8859-1? ? //字符集

http.tracker_http_port = 8888 ? ?//服務端口

http.anti_steal_token = no? ? //防盜鏈Token

http.secret_key = FastDFS1234567890 ? ?//密鑰:默認

tracker_server = 192.168.223.129:22122 ? ?//調度服務器

注意:

防火墻必須開啟8888端口,22122端口,23000端口

防火墻未開啟23000端口時:出現java.net.SocketTimeoutException: connect timed out錯誤!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容