1. 程式人生 > >fastDfs 分散式檔案服務 安裝配置與使用

fastDfs 分散式檔案服務 安裝配置與使用

先貼一波原理圖片



所有需要填寫IP的 地方全部寫公網IP

一、	FastDFS tracker部署
1.上傳FastDFS_v5.01.tar.gz至伺服器/usr/local/src目錄下;
2.依次執行以下命令
cd /usr/local/src
tar xf FastDFS_v5.01.tar.gz
cd FastDFS
./make.sh
./make.sh install
報如下錯誤:
./make.sh: line 180: perl: command not found
解決
yum -y install perl
./make.sh: line 14: gcc: command not found
yum -y install make cmake gcc gcc-c++
3. 建立fastdfs賬號、管理FastDFS
useradd fastdfs -M -s /sbin/nologin
配置Tracker(Tracker上配置)
        1、建立tracker資料以及日誌存放記錄
                  mkdir -p /data/fastdfs/tracker
        2、修改FastDFS配置檔案 tracker.conf
                 vi /etc/fdfs/tracker.conf
              需要修改的內容如下:
                       base_path=/data/fastdfs/tracker
                     max_connections=1024
                     work_threads=8 //通常為CPU核數
                      store_lookup=0 //0代表輪詢方式
                      store_server=0
                      store_path=0
                       download_server=0
                      reserved_storage_space=4G
                     run_by_group=fastdfs
                     run_by_user=fastdfs
                     rotate_error_log=true
4.啟動tracter
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
判斷是否啟動:
ps -ef|grep fdfs_tracker

二、	FastDFS storage部署
1.上傳FastDFS_v5.01.tar.gz和fastdfs-nginx-module_v1.15.tar.gz至伺服器/usr/local/src目錄下;

注意:
以下所有配置IP處均為伺服器內網IP可通過ifconfig檢視 IP
所有有關Nginx的操作全部切換到nginx的解壓目錄操作

2先安裝 Nginx
mkdir /usr/local/software
cd /usr/local/software
wget http://nginx.org/download/nginx-1.9.15.tar.gz
tar -zxvf nginx-1.9.15.tar.gz
mv nginx-1.9.15 nginx
yum -y install pcre-devel openssl openssl-devel
yum -y install make cmake gcc gcc-c++

cd /usr/local/software/nginx

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-
path=/usr/local/nginx/conf/nginx.pid --with-http_ssl_module --with-
http_stub_status_module
make
make install
測試配置是否正確
/usr/local/nginx/sbin/nginx -t 
啟動nginx
/usr/local/nginx/sbin/nginx

安裝fastdfs-nginx-module模組(只在storage伺服器安裝)
cd /usr/local/src
tar -zxvf fastdfs-nginx-module_v1.15.tar.gz
cd /usr/local/software/nginx

編譯安裝nginx
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --add-module=/usr/local/src/fastdfs-nginx-module/src
make
make install


3.依次執行以下命令
cd /usr/local/src
tar xf FastDFS_v5.01.tar.gz
cd FastDFS
./make.sh(報錯參照 tracker紅色報錯解決辦法,最好是所有的安裝包都安裝)
./make.sh install

3. 建立fastdfs賬號、管理FastDFS

useradd fastdfs -M -s /sbin/nologin

4、修改Nginx的配置檔案(如果nginx.pid啟動報錯就刪掉,重啟Nginx,再次執行)
vi /usr/local/nginx/conf/nginx.conf
修改的內容如下:
    user  www  www;
    worker_processes  8;
    pid  /usr/local/nginx/logs/nginx.pid;
    worker_rlimit_nofile  51200;
    events {
         use  epoll;
         worker_connections  51200;
    }
http {
         include  mime.types;
         default_type  application/octet-stream;
         server {
                listen 80;
                server_name localhost;
                location   /g1/M00 {
root   /data/fastdfs/storage/data;
ngx_fastdfs_module;
                }
          }
    }



配置storage
1、建立storage資料以及日誌存放記錄
    mkdir -p /data/fastdfs/storage
2、修改storage.conf檔案
    vi /etc/fdfs/storage.conf
修改的內容如下:
    group_name=g1
    base_path=/data/fastdfs
    max_connections=1024
    work_threads=8
    store_path_count=1
    store_path0=/data/fastdfs/storage
    tracker_server=IP:22122
    run_by_group=fastdfs
    run_by_user=fastdfs
    file_distribute_path_mode=1
    rotate_error_log=true
3、把nginx 模組配置檔案拷貝到“/etc/fdfs”裡,並修改
cp/usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
    vi /etc/fdfs/mod_fastdfs.conf
修改的內容如下:
        connect_timeout=30
        tracker_server=IP:22122
        group_name=g1
        url_have_group_name = true
store_path_count=1
store_path0=/data/fastdfs/storage
5、建立軟連結
	  cd /data/fastdfs/storage
	mkdir data
	mkdir M00
	
		
ln -s /data/fastdfs/storage/data/data/fastdfs/storage/data/M00

linux下開機啟動:
cp  /usr/local/src/FastDFS/init.d/fdfs_storaged  /etc/init.d/
systemctl enable fdfs_storaged.service
配置storage完畢、
6.啟動nginx,fastdfs
 /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf 
 /usr/local/nginx/sbin/nginx 
7測試啟動是否成功:
檢視是否啟動成功
    vi /etc/fdfs/client.conf
修改內容如下:
     base_path=/data/fastdfs
     tracker_server=IP:22122
執行命令檢測:  fdfs_monitor /etc/fdfs/client.conf
生成以下內容則成功


8.啟動成功後上傳測試這裡採用客戶端自帶的命令上傳
   fdfs_upload_file  /etc/fdfs/client.conf  /data/test/aaa.jpg
如果成功,會在視窗內列印儲存地址,如下圖:


這時候用過 IP/g1/M00/########### 就能訪問你storage伺服器的圖片了

由於一般是所有請求都由tracker端去處理,上傳下載都交給tracker處理,所以tracker也需要安裝nginx 與上面步驟相同
安裝完修改配置檔案

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

#下載負載storage 的nginx  
upstream gropu1 {
               server storage:80 weight=1 max_fails=2 fail_timeout=30s;
         }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }


        #下載還有圖片回顯請求 再 由tracker伺服器跳轉到storage nginx 伺服器
        location /g1/M00 {
                     internal;#設定 tracker伺服器無法直接訪問檔案
                     proxy_set_header    Host                 $host:80;
                     proxy_set_header    X-Real-IP            $remote_addr;
                     proxy_set_header    X-Forwarded-For      $remote_addr;
                     proxy_pass http://gropu1;
                     proxy_redirect default;

               }


       #這裡是反向代理先跳轉tracker伺服器 後進行上傳操作 
       location /fileServer {
            proxy_pass   http://tracker:8080;
        }
                }


/usr/local/nginx/sbin/nginx -s reload

以下是tracker資料庫截圖以及tracker伺服器訪功能截圖



以下是直接訪問storage伺服器顯示圖片


但是這樣不太安全,我是不推薦讓使用者直接去接觸檔案伺服器