Linux下玩轉FastDFS

引言

FastDFS是一個開源的輕量級分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務,如相冊網站、視頻網站等等。
FastDFS爲互聯網量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集羣提供文件上傳、下載等服務。

FastDFS環境搭建

安裝環境準備

FastDFS是C語言開發,建議在linux上運行,本教程使用Centos6.8作爲安裝環境。

  1. 安裝gcc 依賴環境(yum install gcc-c++ -y
  2. 安裝libevent(yum -y install libevent
  3. 安裝perl庫(yum install perl*
  4. 安裝zlib(yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

以上4個命令依次執行即可

安裝libfastcommon

將要用到的工具包上傳到centos的opt目錄下
在這裏插入圖片描述
可通過命令查看opt目錄下的文件
在這裏插入圖片描述
使用命令chmod +x 對剛剛傳輸過來的文件進行授權

在這裏插入圖片描述

  • 解壓libfastcommonV1.0.7.tar.gz(tar -zxvf libfastcommonV1.0.7.tar.gz
  • 進入到解壓後的文件夾中(cd libfastcommon-1.0.7/
  • 進行編譯(./make.sh
  • 安裝(./make.sh install
  • 注意:libfastcommon安裝好後會自動將庫文件拷貝至/usr/lib64下,由於FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下(cp /usr/lib64/libfastcommon.so /usr/lib/

以上命令無需截圖,按順序執行下來就行了,親測有效.

安裝tracker(FastDFS_v5.05.tar.gz)
  • 在opt目錄下新建一個目錄fastdfs用於存儲文件(mkdir /opt/fastdfs
  • 解壓FastDFS_v5.05.tar.gz(tar -zxvf FastDFS_v5.05.tar.gz
  • 進入目錄(cd FastDFS
  • 進行編譯(./make.sh
  • 安裝(./make.sh install
  • 進入conf配置目錄將文件都拷貝到/etc/fdfs(安裝時自動生成)(cd /FastDFS/conf )( cp * /etc/fdfs
  • 進入/etc/fdfs/,配置tracker.conf(vi /etc/fdfs/tracker.conf
    在這裏插入圖片描述
    替換成以下配置(base_path=/opt/fastdfs)
    在這裏插入圖片描述
  • storage的配置(storage不需要安裝,因爲安裝tracker時已經同時安裝)(vi storage.conf)這個文件也在/etc/fdfs目錄下
    在這裏插入圖片描述
    在這裏插入圖片描述
  • fdfs_storage這個目錄需要新建
    在這裏插入圖片描述

base_path=/opt/fastdfs
store_path0=/opt/fastdfs/fdfs_storage
tracker_server=192.168.219.130:22122(換成自己的Ip即可)
別忘了在/opt/fastdfs/目錄下新建fdfs_storage目錄

配置tracker和storage的啓動服務
  • 進入/etc/init.d啓動腳本目錄,默認fastdfs已經生成(cd /etc/init.d)
  • 編輯fdfs_trackerd腳本文件(vi fdfs_trackerd)
    在這裏插入圖片描述

在這裏插入圖片描述

  • 因爲啓動腳本還在安裝目錄下,所以我們新建/usr/local/fdfs目錄,並且將啓動腳本cp到該目錄(mkdir /usr/local/fdfs)
  • 進入安裝目錄/opt/FastDFs(cd /opt/FastDFS)
  • cp restart.sh /usr/local/fdfs
  • cp stop.sh /usr/local/fdfs
  • 配置storage啓動服務(restart和stop腳本已經拷貝到/usr/local/fdfs下,所以storage只需要配置/etc/init.d/fdfs_storage腳本就可以了cd /etc/init.d)
  • vi fdfs_storaged
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 將啓動腳本加入linux服務

chkconfig --add fdfs_trackerd
chkconfig --add fdfs_storaged

  • 啓動腳本

service fdfs_trackerd start
service fdfs_storaged start

  • 輸入ps -ef|grep fdfs查看進程!
    在這裏插入圖片描述
測試
  • 編輯/etc/fdfs/目錄下client.conf文件
  • vi /etc/fdfs/client.conf
    在這裏插入圖片描述

base_path=/opt/fastdfs
tracker_server=192.168.216.130:22122

傳輸一張圖片到root目錄下

  • 進入root目錄cd /root
  • 執行/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/1.jpg
    在這裏插入圖片描述

可以看到上傳後的圖片地址,現在到windows上是不能訪問的。
要想windows能訪問,需要藉助nginx
可以到cd /opt/fastdfs/fdfs_storage/data目錄下看到文件
在這裏插入圖片描述

安裝FastDFS-nginx-module插件
  • 進入opt目錄(cd /opt
  • 解壓fastdfs-nginx-module_v1.16.tar.gz(tar -zxvf fastdfs-nginx-module_v1.16.tar.gz)
  • 進入目錄(cd fastdfs-nginx-module)
  • 進入src目錄(cd src
  • 編輯config文件(vi config
    在這裏插入圖片描述

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

  • 將FastDFS-nginx-module插件整合fdfs的配置文件拷貝到fdfs的配置目錄下(整合fdfs的配置文件)
    FastDFS-nginx-module/src下的mod_fastdfs.conf拷貝至/etc/fdfs/下(這裏面是兩個路徑)
  • cp mod_fastdfs.conf /etc/fdfs
  • 編輯/etc/fdfs/mod_fastdfs.conf文件(vi /etc/fdfs/mod_fastdfs.conf
    軟件安裝目錄
    Tracker_server地址
    Web的url是否包含group的路徑名
    上傳文件存儲目錄

base_path=/opt/fastdfs
tracker_server=192.168.216.129:22122
url_have_group_name = true
store_path0=/opt/fastdfs/fdfs_storage

安裝nginx
  • 創建nginx/client目錄(mkdir -p /var/temp/nginx/client
  • 進入opt目錄(cd /opt
  • 解壓nginx-1.12.2.tar.gz(tar -zxvf nginx-1.12.2.tar.gz
  • 進入解壓目錄(cd nginx-1.12.2

一次性執行

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/opt/fastdfs-nginx-module/src

看到以下界面就說明執行成功了
在這裏插入圖片描述

  • 編譯(make

  • 安裝(make install

  • 修改nginx配置文件(vi /usr/local/nginx/conf/nginx.conf
    在這裏插入圖片描述

  • 進入/usr/local/nginx目錄(cd /usr/local/nginx

  • 進入sbin(cd sbin

  • 啓動nginx(./nginx

需要關閉防火牆
service iptables stop
永久關閉 chkconfig iptables off
到windows訪問
在這裏插入圖片描述

設置開機啓動nginx

vi /etc/rc.d/rc.local
touch /var/lock/subsys/local
/usr/local/nginx/sbin/nginx

下期再見。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章