Linux下FastDFS安裝教程


一、環境准備

下載FastDFS安裝包:
FastDFS下載地址:https://github.com/happyfish100/ 

 libfatscommon:FastDFS分離出的一些公用函數包

 FastDFS:FastDFS本體

 fastdfs-nginx-moduleFastDFSnginx的關聯模塊

下載Nginx安裝包
下載地址:http://nginx.org/en/download....

 nginx用來提供訪問服務

將下載好的安裝包上傳到服務器上

 

二、開始安裝

以下安裝步驟trackerstorage都要執行


1、安裝基礎環境

yum install -y gcc gcc-c++yum -y install libevent

2、解壓libfatscommon函數庫

# 解壓tar -zxvf libfastcommon-1.0.43.tar.gz

3、進入libfastcommon文件夾,編譯並且安裝

./make.sh

./make.sh install

從控制台可以看到安裝目錄

 

4、解壓fastdfs主程序文件

# 解壓tar -zxvf fastdfs-6.06.tar.gz

5、進入fastdfs目錄,安裝fastdfs主程序

./make.sh

./make.sh install

從控制台可以看到主程序的安裝目錄

 

  • /usr/bin中包含了可執行文件:

 

  • /etc/fdfs包含了配置文件:

 

6、將安裝文件夾下的配置文件拷貝到/etc/fdfs目錄下

cp /etc/FastDFS/fastdfs/fastdfs-6.06/conf/* /etc/fdfs/

  

7配置tracker服務

1、說明
trackerstorage都是同一個fastdfs的主程序的兩個不同概念,配置不同的配置文件就可以設定為tracker或者storage

2、配置tracker
/etc/fdfs下都是一些配置文件,配置tracker即可

vim tracker.conf

 

3、修改tracker配置文件中的tracker工作目錄,保存數據以及日志

base_path=/usr/local/fastdfs/tracker

 

保存並退出,然后創建/usr/local/fastdfs/tracker目錄

mkdir /usr/local/fastdfs/tracker -p

4、啟動tracker服務

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

檢查進程如下:

ps -ef|grep tracker

 

啟動成功!

5、停止tracker

/usr/bin/stop.sh /etc/fdfs/tracker.conf stop

8配置storage服務

1、修改storage配置文件

vim storage.conf

# 修改storage的工作空間base_path=/usr/local/fastdfs/storage

# 修改storage的存儲空間store_path0=/usr/local/fastdfs/storage

# 修改tracker的地址和端口號,用於心跳tracker_server=192.168.0.170:22122

創建目錄

mkdir /usr/local/fastdfs/storage -p

2、啟動storage

啟動storage欠必須先啟動tracker

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

檢查進程如下:

ps -ef|grep storage

 

啟動成功!

9測試上傳

1、修改的client配置文件

vim client.conf

 

   base_path=/usr/local/fastdfs/client

   #tracker的ip根據實際tracker的ip地址配置

   tracker_server=192.168.0.170:22122

創建目錄

mkdir /usr/local/fastdfs/client -p

2、測試
這里以上傳/etc/fdfs目錄下的anti-steal.jpg文件進行測試

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg

 

報錯,這里是因為tracker服務器的22122端口沒開放,開放端口后重新上傳

上傳成功!這里remote_filename顯示了上傳后存儲目錄(在前面配置的storagestore_path0=/usr/local/fastdfs/storage)url為遠程訪問地址,這里還不能遠程訪問,配置了nginx模塊后才能訪問。

cd /usr/local/fastdfs/storage/data

  

 

 

三、配置 nginx

fastdfs安裝好以后是無法通過http訪問的,這個時候就需要借助nginx了,所以需要安裝fastdfs的第三方模塊到nginx中,就能使用了。

注:nginx需要和storage在同一個節點。

1、安裝nginx插件

  • 解壓nginxfastdfs壓縮包

  tar -zxvf fastdfs-nginx-module-1.22.tar.gz

  • 進入解壓后文件夾的src目錄下,復制配置文件到fdfs目錄下

 

 

 cp mod_fastdfs.conf /etc/fdfs

  • 修改/fastdfs-nginx-module/src/config文件,主要是修改路徑,把local刪除,因為fastdfs安裝的時候我們沒有修改路徑,原路徑是/usr

 

修改后

 

 

 

2、安裝nginx
安裝步驟參考:https://segmentfault.com/a/11...
注意:配置命令與該文章中略有不同,需要增加一個fastdfs-nginx-module模塊,即下面的最后一行,以實際路徑為准

mkdir -p /usr/local/log/nginx/

./configure \

--prefix=/usr/local/nginx \

--pid-path=/usr/local/nginx/nginx.pid \

--lock-path=/usr/local/nginx.lock \

--error-log-path=/usr/local/nginx/log/error.log \

--http-log-path=/usr/local/nginx/log/access.log \

--add-module=/etc/FastDFS/fastdfs-nginx-module/fastdfs-nginx-module-1.22/src

 

 

make && make install

3、修改mod_fastdfs.conf配置文件

 

 

 

vim mod_fastdfs.conf

base_path=/usr/local/fastdfs/tmp

#tracker地址

tracker_server=trackerIP:22122

url_have_group_name = true

store_path0=/usr/local/fastdfs/storage

 

創建base_path目錄

mkdir /usr/local/fastdfs/tmp

 

4、修改nginx.conf,添加如下虛擬主機:

 

 

 

server {

    listen       8888;

    server_name  localhost;

 

    location /group1/M00 {

            ngx_fastdfs_module;

    }

}

5、啟動nginx

四、驗證是否安裝成功

1、上傳文件

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg

 

 

 

2、在瀏覽器中輸入http:ip:nginx端口/fastFDS返回的字符串

http://10.10.183.230:8888/group1/M00/00/00/Cgq35mGXUt6AMNkYAABdreSfEnY061_big.jpg

 

 

 

 

五、異常情況

[2021-11-19 14:55:43] DEBUG - base_path=/usr/local/fastdfs/client, connect_timeout=5, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

 

[2021-11-19 14:55:43] ERROR - file: tracker_proto.c, line: 50, server: 10.10.183.230:22122, response status 28 != 0

[2021-11-19 14:55:43] ERROR - file: ../client/tracker_client.c, line: 1077, fdfs_recv_response fail, result: 28

[2021-11-19 14:55:43] ERROR - file: tracker_proto.c, line: 50, server: 10.10.183.230:22122, response status 28 != 0

[2021-11-19 14:55:43] ERROR - file: ../client/tracker_client.c, line: 899, fdfs_recv_response fail, result: 28

tracker_query_storage fail, error no: 28, error info: No space left on device

原因:

報錯原因 tracker.conf 配置項 reserved_storage_space = 20%

 

解決辦法:

刪除/home/用戶/log日志、/root/log/var/log


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM