FastDFS 單機版部署

系統環境

# VM virtualBox
# sentos 7_64X mini Install
# 爲了快速上手,這裏關閉了防火牆。實際生產中,則是開放指定的端口。

# 成功後會上傳單機版環境,根據自己的虛擬機配置環境修改一下網卡,主機名,DNS 等信息即可。

資料準備

建議直接從官方地址下載
1.libfastcommon
* 從 FastDFS 和 FastDHT 中提取出來的公共 C 函數庫,基礎環境
* 在安裝 FastDFS 前需要先安裝這個
* 下載地址址:https://github.com/happyfish100/libfastcommon/releases
2.FastDFS
* FastDFS 安裝包
* 下載地址:https://github.com/happyfish100/fastdfs/releases
3.fastdfs-nginx-module
* 爲了實現通過 HTTP 服務訪問和下載 FastDFS 服務器中的文件
* 可以重定向文件鏈接到源服務器取文件,避免同一組 Storage 服務器同步延遲導致文件訪問錯誤
* 下載地址:https://github.com/happyfish100/fastdfs-nginx-module/releases
* 注:這個目前最新版是 V1.20,不過由於配置時出了點問題,故這裏改爲使用 V1.16 版本
4.Nginx
* 實現 HTTP 訪問,負載均衡和緩存等功能
* 下載地址:http://nginx.org/en/download.html
本次採用的安裝包版本如下
* libfastcommon :1.0.38
* FastDFS :5.11
* fastdfs-ninx-module :1.16
* Nginx : 1.15.1

將以上安裝包拷貝到 CentOS7 下的/root 目錄

安裝配置

# 關閉防火牆
# 查看防火牆狀態
systemctl status firewalld.service
# 關閉防火牆
systemctl stop firewalld.service    
# 禁用防火牆
systemctl disable firewalld.service


#以下的安裝都要依賴gcc、perl
 yum install make cmake gcc gcc-c++
 yum -y install perl*

1.安裝libfastcommon

cd /root
# 解壓 libfastcommon 壓縮包
tar -zxvf libfastcommon-1.0.39.tar.gz  -C /usr/local/
cd /usr/local/libfastcommon-1.0.39
# 編譯並安裝
./make.sh && ./make.sh install

# 由於 libfastcommon 安裝的路徑在 /usr/lib64/ 
# 但是 FastDFS 主程序設置的 lib 目錄是在 /usr/local/lib,所以需要創建軟鏈接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so 
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so 
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so 
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

2.安裝fastdfs

cd /root/
# 解壓縮
tar -zxvf fastdfs-5.12.tar.gz -C /usr/local/
cd /usr/local/fastdfs-5.12/
# 編譯並安裝
./make.sh && ./make.sh install
配置Tracker
# 創建 Tracker 的存儲日誌和數據的根目錄
mkdir -p /fastdfs/tracker
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
# 配置 tracker.conf
vi tracker.conf

tracker.conf(只是修改一下 Tracker 存儲日誌和數據的路徑)

# 啓用配置文件(默認爲 false,表示啓用配置文件)
disabled=false
# Tracker 服務端口(默認爲 22122)
port=22122
# 存儲日誌和數據的根目錄
base_path=/fastdfs/tracker
配置 Storage
# 創建 Storage 的存儲日誌和數據的根目錄
mkdir -p /fastdfs/storager
cd /etc/fdfs
cp storage.conf.sample storage.conf
# 配置 storage.conf
vi storage.conf

storage.conf 只是修改一下 storage 存儲日誌和數據的路徑

# 啓用配置文件(默認爲 false,表示啓用配置文件)
disabled=false
# Storage 服務端口(默認爲 23000)
port=23000
# 數據和日誌文件存儲根目錄
base_path=/fastdfs/storager
# 存儲路徑,訪問時路徑爲 M00
# store_path1 則爲 M01,以此遞增到 M99(如果配置了多個存儲目錄的話,這裏只指定 1 個)
store_path0=/fastdfs/storager
# Tracker 服務器 IP 地址和端口,單機搭建時也不要寫 127.0.0.1
# tracker_server 可以多次出現,如果有多個,則配置多個
tracker_server=192.168.1.105:22122
# 設置 HTTP 訪問文件的端口。這個配置已經不用配置了,配置了也沒什麼用
# 這也是爲何 Storage 服務器需要 Nginx 來提供 HTTP 訪問的原因
http.server_port=8888
啓動 Tracker 和 Storage 服務
# 啓動 Tracker 服務
# 其它操作則把 start 改爲 stop、restart、reload、status 即可。Storage 服務相同
/etc/init.d/fdfs_trackerd start
# 啓動 Storage 服務
/etc/init.d/fdfs_storaged start
# 可以通過 fdfs_monitor 查看集羣的情況
# 查看 Storage 是否已經註冊到 Tracker 服務器中
# 當查看到 ip_addr = 192.168.1.105 (localhost.localdomain)  ACTIVE
# ACTIVE 表示成功
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

出現如下圖:表示storage啓動成功
在這裏插入圖片描述

# 查看是否啓動成功
ps -ef | grep fdfs  

在這裏插入圖片描述

測試文件上傳

# 修改 Tracker 服務器客戶端配置文件
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
vi /etc/fdfs/client.conf

client.conf 中修改 base_path 和 Tracker 服務器的 IP 地址與端口號即可

# 存儲日誌文件的基本路徑
base_path=/home/fastdfs/tracker
# Tracker 服務器 IP 地址與端口號
tracker_server=192.168.1.105:22122
# http端口號,和上面的http.server_port=8888一致
http.tracker_server_port=8888
# 將root目錄下的一張圖片存儲到 FastDFS 服務器中
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/test.jpg

成功標識:返回文件id
在這裏插入圖片描述

3.安裝與配置 Nginx

首先說下:

Storage 安裝 Nginx,爲了提供 http 的訪問和下載服務,同時解決 group 中 Storage 服務器的同步延遲問題
Tracker 安裝 Nginx,主要是爲了提供 http 訪問的反向代理、負載均衡以及緩存服務

Nginx 依賴環境有 GCC(這個在安裝 libfastcommon 時就安裝了)、PCRE、zlib 和 openssl。

# 安裝 GCC
yum install -y gcc-c++ 
# 安裝 PCRE
yum install -y pcre pcre-devel
# 安裝 zlib
yum install -y zlib zlib-devel
# 安裝 openssl
yum install -y openssl openssl-devel

# 以上命令也可以使用一條命令來安裝
yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
配置 fastdfs-nginx-module

所有 storage 節點都要安裝 fastdfs-nginx-module 模塊

cd /root
# 解壓 fastdfs-nginx-module 模塊
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/
 cd /usr/local/fastdfs-nginx-module/
# 修改 fastdfs-nginx-module 的 config 配置文件
vi src/config

CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
中的local 去掉,修改爲 CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
在這裏插入圖片描述

編譯安裝 nginx
cd /root
tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/
 cd /usr/local/nginx-1.16.1/
# 給 Nginx 添加 fastdfs-nginx-module 模塊
./configure --add-module=/usr/local/fastdfs-nginx-module/src
make && make install

如果出現如下錯誤:
usr/local/fastdfs-nginx-module/src/common.c:22:20: fatal error: logger.h: No such file or directory#include “logger.h”
則執行:

ln -s /usr/include/fast* /usr/local/include/

fastdfs-nginx-module 和 FastDFS 配置文件修改
# 複製 FastDFS 的部分配置文件到 /etc/fdfs
cd /usr/local/fastdfs-5.12/conf/
cp http.conf mime.types /etc/fdfs/
# 複製 fastdfs-nginx-module 源碼中的配置文件到  /etc/fdfs 中
cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf

mod_fastdfs.conf 配置如下

# Tracker 服務器IP和端口修改
tracker_server=192.168.1.105:22122
# url 中是否包含 group 名稱,改爲 true,包含 group
url_have_group_name = true
# 配置 Storage 信息,修改 store_path0 的信息
store_path0=/fastdfs/storager
# 其它的一般默認即可,例如
base_path=/tmp
group_name=group1 
storage_server_port=23000 
store_path_count=1

配置 Nginx

vi /usr/local/nginx/conf/nginx.conf

在 server 中添加以下代碼

# 配置爲支持 group0-group9,以及 M00-M99,以便於以後擴容
# 本單機環境下其實配置爲 ~/group1/M00 就可以了
location ~/group([0-9])/M([0-9])([0-9]) {
    ngx_fastdfs_module;
}

在這裏插入圖片描述

啓動 Nginx
# 啓動 Nginx
/usr/local/nginx/sbin/nginx
# 重啓 Nginx
/usr/local/nginx/sbin/nginx -s reload
# 停止 Nginx
/usr/local/nginx/sbin/nginx -s stop
# 查看是否啓動成功
ps -ef|grep nginx

在這裏插入圖片描述

通過 HTTP 訪問文件

通過修改這個地址就能訪問到上面上傳的文件了
http://192.168.1.105:8888/group1/M00/00/00/wKgBaV4usqKALVXJAAFZ77FUVlQ276.jpg

看到上傳的圖片就成功了。

每次啓動

# 每次開機時,手動打開 Tracker 服務
/etc/init.d/fdfs_trackerd start
# 打開 Storage 服務
/etc/init.d/fdfs_storaged start
# 啓動 Nginx
/usr/local/nginx/sbin/nginx

總結

單機版結束,等有時間會上傳搭建好的單機版到這裏。

發佈了75 篇原創文章 · 獲贊 36 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章