安裝配置fastDFS文件服務器 - Linux


 

一、配置linux環境

1、新建虛擬機

把上次安裝的CentOS7的文件復制一份,並改名

 

打開VM》打開虛擬機,選擇剛才復制好的虛擬機,並啟動。這樣做的目的主要是為了保留一份最基礎的母本,為了將來安裝其它組件用。

2、修改主機名

# vi /etc/hosts

 

#vi /etc/sysconfig/network

 

3、設置靜態IP為192.168.50.20

# vi /etc/sysconfig/network-scripts/ifcfg-ens33

 

測試網絡

二、安裝FastDFS環境

1、安裝編譯環境

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel -y

2、目錄約定

3、下載安裝 libfastcommon 

1. cd /usr/local/src 2. git clone https://github.com/happyfish100/libfastcommon.git --depth 1 3. cd libfastcommon 4. ./make.sh && ./make.sh install

 

4、下載安裝FastDFS

方法1

1. cd /usr/local/src 
2. git clone https://github.com/happyfish100/fastdfs.git --depth 1
3. cd fastdfs 
4. ./make.sh && ./make.sh install 

方法2

1. wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
2. tar -zxvf V5.05.tar.gz
3. cd fastdfs-5.05
4. ./make.sh
5. ./make.sh install

默認安裝方式安裝后的相應文件與目錄

      A、服務腳本:

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_tracker

  B、配置文件(這三個是作者給的樣例配置文件) :

/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample

  C、命令工具在 /usr/bin/ 目錄下:

fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
stop.sh
restart.sh 

 

FastDFS 服務腳本設置的 bin 目錄是 /usr/local/bin, 但實際命令安裝在 /usr/bin/ 下。

FastDFS 服務腳本設置的 bin 目錄是 /usr/local/bin, 但實際命令安裝在 /usr/bin/ 下。

  兩種方式:

  》 一是修改FastDFS 服務腳本中相應的命令路徑,也就是把 /etc/init.d/fdfs_storaged 和 /etc/init.d/fdfs_tracker 兩個腳本中的 /usr/local/bin 修改成 /usr/bin。

     vim fdfs_trackerd
    使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin
    # vim fdfs_storaged
    使用查找替換命令進統一修改:%s+/usr/local/bin+/usr/bin

    

  》 二是建立 /usr/bin 到 /usr/local/bin 的軟鏈接,我是用這種方式。  

# ln -s /usr/bin/fdfs_trackerd   /usr/local/bin
# ln -s /usr/bin/fdfs_storaged   /usr/local/bin
# ln -s /usr/bin/stop.sh         /usr/local/bin
# ln -s /usr/bin/restart.sh      /usr/local/bin

5、配置FastDFS跟蹤器(Tracker)

# cd /etc/fdfs
# cp tracker.conf.sample tracker.conf # vim tracker.conf
# 配置文件是否不生效,false 為生效
disabled=false
# 提供服務的端口(tracker服務器端口(默認22122,一般不修改) )
port=22122
# Tracker 數據和日志目錄地址(根目錄必須存在,子目錄會自動創建)
base_path=/fastdfs/tracker

創建tracker基礎數據目錄,即base_path對應的目錄

# mkdir -p /fastdfs/tracker

啟動Tracker

初次成功啟動,會在 /fdfsdfs/tracker/ (配置的base_path)下創建 data、logs 兩個目錄。

可以用這種方式啟動
# /etc/init.d/fdfs_trackerd start
也可以用這種方式啟動,前提是上面創建了軟鏈接,后面都用這種方式
# service fdfs_trackerd start

tracker server 目錄及文件結構 ,Tracker服務啟動成功后,會在base_path下創建data、logs兩個目錄。目錄結構如下:

${base_path}
  |__data
  |   |__storage_groups.dat:存儲分組信息
  |   |__storage_servers.dat:存儲服務器列表
  |__logs
  |   |__trackerd.log: tracker server 日志文件 

 

查看 FastDFS Tracker 是否已成功啟動 ,22122端口正在被監聽,則算是Tracker服務安裝成功。

# netstat -unltp|grep fdfs

 

關閉Tracker命令:

# service fdfs_trackerd stop

設置Tracker開機啟動

# chkconfig fdfs_trackerd on
或者:
# vim /etc/rc.d/rc.local
加入配置:
/etc/init.d/fdfs_trackerd start

 

6、配置 FastDFS 存儲 (Storage)

進入 /etc/fdfs 目錄,復制 FastDFS 存儲器樣例配置文件 storage.conf.sample,並重命名為 storage.conf

# cd /etc/fdfs
# cp storage.conf.sample storage.conf
# vim storage.conf
# 配置文件是否不生效,false 為生效
disabled=false 

# 指定此 storage server 所在 組(卷)
group_name=group1
# storage server 服務端口 port=
23000
# 心跳間隔時間,單位為秒 (這里是指主動向 tracker server 發送心跳) heart_beat_interval=30 # Storage 數據和日志目錄地址(根目錄必須存在,子目錄會自動生成) base_path=/fastdfs/storage # 存放文件時 storage server 支持多個路徑。這里配置存放文件的基路徑數目,通常只配一個目錄。 store_path_count=1 # 逐一配置 store_path_count 個路徑,索引號基於 0。 # 如果不配置 store_path0,那它就和 base_path 對應的路徑一樣。 store_path0=/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=192.168.50.20:22122 # 允許系統同步的時間段 (默認是全天) 。一般用於避免高峰同步產生一些問題而設定。 sync_start_time=00:00 sync_end_time=23:59 # 訪問端口 http.server_port=80

創建Storage基礎數據目錄,對應base_path目錄

# mkdir -p /fastdfs/storage

# 這是配置的store_path0路徑
# mkdir -p /fastdfs/file

啟動 Storage

啟動Storage前確保Tracker是啟動的。初次啟動成功,會在 /fastdfs/storage 目錄下創建 data、 logs 兩個目錄。

可以用這種方式啟動
# /etc/init.d/fdfs_storaged start

也可以用這種方式,后面都用這種
# service fdfs_storaged start

查看 Storage 是否成功啟動,23000 端口正在被監聽,就算 Storage 啟動成功。

# netstat -unltp|grep fdfs

關閉Storage命令:

# service fdfs_storaged stop

 查看Storage和Tracker是否在通信:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

設置 Storage 開機啟動

# chkconfig fdfs_storaged on

或者:
# vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_storaged start

 

Storage 目錄

同 Tracker,Storage 啟動成功后,在base_path 下創建了data、logs目錄,記錄着 Storage Server 的信息。

在 store_path0 目錄下,創建了N*N個子目錄:

 

7、文件上傳測試

 修改 Tracker 服務器中的客戶端配置文件 

# cd /etc/fdfs
# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf 
# vim client.conf

修改如下配置即可,其它默認。

# Client 的數據和日志目錄
base_path=/fastdfs/client

# Tracker端口
tracker_server=192.168.50.20:22122

在linux內部執行如下命令上傳圖片

# wget https://static.cnblogs.com/images/adminlogo.gif

# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf adminlogo.gif

 

wKgyFFtm9mWAZfJhAAANHkI1RM4732.gif  文件名存下來,一會有用

返回的文件ID由group、存儲目錄、兩級子目錄、fileid、文件后綴名(由客戶端指定,主要用於區分文件類型)拼接而成。

三、安裝Nginx

1、安裝

上面將文件上傳成功了,但我們無法下載。因此安裝Nginx作為服務器以支持Http方式訪問文件。同時,后面安裝FastDFS的Nginx模塊也需要Nginx環境。

Nginx只需要安裝到StorageServer所在的服務器即可,用於訪問文件。

1. cd /usr/local/src 
2. wget http://nginx.org/download/nginx-1.14.0.tar.gz #下載
3. tar -zxvf nginx-1.14.0.tar.gz #解壓
4. cd nginx-1.14.0
5. ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ #配置
6. make && make install #編譯&& 安裝

2、啟動nginx

復制代碼
# cd /usr/local/nginx/sbin/
# ./nginx 

其它命令
# ./nginx -s stop
# ./nginx -s quit
# ./nginx -s reload

置開機啟動

# vim /etc/rc.local

添加一行:
/usr/local/nginx/sbin/nginx

# 設置執行權限
# chmod 755 rc.local

3、防火牆設置 

# vim /etc/sysconfig/iptables

重啟防火牆:
# service iptables restart

4、訪問文件

簡單的測試訪問文件

修改nginx.conf

# vim /usr/local/nginx/conf/nginx.conf

添加如下行,將 /group1/M00 映射到 /fastdfs/file/data
location /group1/M00 {
    alias /fastdfs/file/data;
}

# 重啟nginx
# /usr/local/nginx/sbin/nginx -s reload

 

在瀏覽器訪問之前上傳的圖片、成功。

http://192.168.50.20/group1/M00/00/00/wKgyFFtm9mWAZfJhAAANHkI1RM4732.gif

 

相關閱讀:

CentOS7最小化安裝-Linux-1

安裝配置fastDFS文件服務器 - Linux

FastDFS 配置 Nginx 模塊,並實現分布式同步-Linux

FasDfs縮略圖解決方案 -- Linux

C# 使用FastDFS 文件服務

 


免責聲明!

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



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