在CentOS上搭建FastDFS+nginx

一、軟件下載

  1. fastdfs
  2. libfastcommon
  3. fastdfs-nginx-module
  4. nginx

二、安裝fastdfs的tracker部分

A.配置fastdfs環(huán)境

1. gcc
yum install gcc-c++
2. libevent:
yum -y install libevent
3. libfastcommon:

  1. 在linux中創(chuàng)建個(gè)人文件存放目錄(個(gè)人習(xí)慣,后面配置中用到的/zhanping文件夾都必須與此保持一致)
    cd /
    mkdir /zhanping
    cd /zhanping
    mkdir soft
    mkdir install
  2. 通過SSH Secure File Transfer Client上傳libfastcommonV1.0.7.tar.gz到/zhanping/soft目錄下
  3. 解壓libfastcommonV1.0.7.tar.gz到/zhanping/install目錄下
    cd /zhanping/soft
    tar -zxvf libfastcommonV1.0.7.tar.gz -C /zhanping/install
  4. 安裝libfastcommon-1.0.7
    cd /zhanping/soft/libfastcommon-1.0.7
    ./make.sh
    ./make.sh install
  5. libfastcommon-1.0.7安裝好后會(huì)自動(dòng)將庫文件拷貝至/usr/lib64下,由于fastdfs引用usr/lib目錄,所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下
    cp -r /usr/lib64/libfastcommon.so /usr/lib
B. tracker編譯安裝
  1. 通過SSH Secure File Transfer Client上傳FastDFS_v5.05.tar.gz到/zhanping/soft目錄下
  2. 解壓FastDFS_v5.05.tar.gz到/zhanping/install目錄下
    cd /zhanping/soft
    tar -zxvf FastDFS_v5.05.tar.gz -C /zhanping/install
  3. 編譯安裝fastdfs
    cd /zhanping/install/FastDFS
    ./make.sh
    ./make.sh install
  4. 安裝成功后,將安裝目錄下的conf下的以下文件拷貝到/etc/fdfs/下
    cp -r /zhanping/install/FastDFS/conf/*.conf /etc/fdfs
    cp -r /zhanping/install/FastDFS/conf/mime.types /etc/fdfs
    conf.png
C、配置fastdfs的tracker部分
  1. 安裝成功后進(jìn)入/etc/fdfs目錄
    cd /etc/fdfs
  2. 拷貝一份新的tracker配置文件
    cp tracker.conf.sample tracker.conf
  3. 修改tracker.conf(也可以不配置,使用默認(rèn)即可)
    vim tracker.conf


base_path=/home/yuqing/fastdfs
改為:
base_path=/home/fastdfs

D、啟動(dòng)fastdfs的tracker部分
  1. 啟動(dòng)tracker
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
  2. 設(shè)置開機(jī)自動(dòng)啟動(dòng)(選做,不配置的話每次linux啟動(dòng)時(shí)則需要手動(dòng)啟動(dòng)tracker)
    vim /etc/rc.d/rd.local

將運(yùn)行命令行添加進(jìn)文件:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

三、安裝fastdfs的storage部分

!!!注意:如果fastdfs的storage和fastdfs的tracker安裝在同一個(gè)linux系統(tǒng)上,則以下A、B部分則可以不用做

A.配置fastdfs環(huán)境

同fastdfs的tracker部分

B. storage編譯安裝

同fastdfs的tracker部分

C、配置fastdfs的storage部分
  1. 安裝成功后進(jìn)入/etc/fdfs目錄
    cd /etc/fdfs
  2. 拷貝一份新的storage配置文件
    cp storage.conf.sample storage.conf
  3. 修改storage.conf
    vim storage.conf

#【1】.修改storage的base_path路徑(選做)
#base_path需要和tracker部分的base_path保持一致,如果有修改過tracker的tracker.conf文件,則做以下修改:
base_path=/home/yuqing/fastdfs 改為:base_path=/home/fastdfs
#【2】.修改storage的資源存放路徑(選做)
store_path0=/home/yuqing/fastdfs 改為:store_path0=/home/fastdfs/fdfs_storage
#如果有多個(gè)掛載磁盤則定義多個(gè)store_path,如下
#store_path1=......
#store_path2=......
#......
#【3】.修改storage的對應(yīng)的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122 #配置tracker服務(wù)器:IP (本地ip地址:22122)
#如果有多個(gè)則配置多個(gè)tracker_server
#tracker_server=......
#tracker_server=......
#......

D、啟動(dòng)fastdfs的storage部分
  1. 啟動(dòng)storage
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
  2. 設(shè)置開機(jī)自動(dòng)啟動(dòng)(選做,不配置的話每次linux啟動(dòng)時(shí)則需要手動(dòng)啟動(dòng)tracker)
    vim /etc/rc.d/rd.local

將運(yùn)行命令行添加進(jìn)文件:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

四、上傳文件測試

fastdfs安裝成功可通過/usr/bin/fdfs_test測試上傳、下載等操作

  1. 修改/etc/fdfs/client.conf
    vim /etc/fdfs/client.conf

#【1】.修改client.conf的base_path路徑(選做)
#base_path需要和tracker部分的base_path保持一致,如果有修改過tracker的tracker.conf文件,則做以下修改:
base_path=/home/yuqing/fastdfs 改為:base_path=/home/fastdfs
#【2】.修改client.conf的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122

  1. 上傳文件

使用格式:
/usr/bin/fdfs_test 客戶端配置文件地址 upload 上傳文件
比如將/zhanping/resource下的圖片上傳到fastdfs中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /zhanping/resource/download.jpg
上傳成功后,終端將會(huì)輸出類似以下的http文件訪問路徑:http://192.168.248.128/group1/M00/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg
對應(yīng)storage服務(wù)器資源存放路徑store_path下的:
data/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg
由于現(xiàn)在還沒有和nginx整合無法使用http下載

五、fastdfs整合nginx

A.安裝fastdfs-nginx-module
  1. 將從github上面下載的源文件fastdfs-nginx-module-master壓縮成.tar.gz格式
  2. 通過SSH Secure File Transfer Client上傳fastdfs-nginx-module.tar.gz到/zhanping/soft目錄下
  3. 解壓fastdfs-nginx-module.tar.gz到/zhanping/install目錄下
    cd /zhanping/soft
    tar -zxvf fastdfs-nginx-module.tar.gz -C /zhanping/install
  4. 修改fastdfs-nginx-module/src/下的config文件
    cd /zhanping/install/fastdfs-nginx-module/src
    vim config

usr/local/路徑都改為/usr/


module-config.png
  1. 將FastDFS-nginx-module/src下的mod_FastDFS.conf拷貝至/etc/fdfs/下
    cp mod_FastDFS.conf /etc/fdfs/
  2. 修改mod_FastDFS.conf的內(nèi)容
    vi /etc/fdfs/mod_FastDFS.conf

#【1】.修改storage的base_path路徑(選做)
#base_path需要和tracker部分的base_path保持一致,如果有修改過tracker的tracker.conf文件,則做以下修改:
base_path=/home/yuqing/fastdfs 改為:base_path=/home/fastdfs
#【2】.修改mod_FastDFS.conf的tracker_server的ip地址和端口(必做)
tracker_server=192.168.248.128:22122 #配置tracker服務(wù)器:IP (本地ip地址:22122)
#如果有多個(gè)則配置多個(gè)tracker_server
#tracker_server=......
#tracker_server=......
#......
#【3】.修改url_have_group_name=true(必做)
url_have_group_name=true #url中包含group名稱
#【4】.指定storage的文件存儲(chǔ)路徑(選做)
store_path0=/home/yuqing/fastdfs 改為:store_path0=/home/fastdfs/fdfs_storage
#如果有多個(gè)掛載磁盤則定義多個(gè)store_path,如下
#store_path1=......
#store_path2=......
#......

  1. 將libfdfsclient.so拷貝至/usr/lib下
    cp /usr/lib64/libfdfsclient.so /usr/lib/
B.安裝nginx

注意:需要先配置nginx的安裝環(huán)境
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

  1. 通過SSH Secure File Transfer Client上傳nginx-1.8.0.tar.gz到/zhanping/soft目錄下
  2. 解壓nginx-1.8.0.tar.gz到/zhanping/install目錄下
    cd /zhanping/soft
    tar -zxvfnginx-1.8.0.tar.gz -C /zhanping/install
  3. 創(chuàng)建nginx所需安裝目錄
    mkdir -p /var/temp/nginx/client
  4. 設(shè)置nginx編譯參數(shù)設(shè)置如下:
./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=/zhanping/install/fastdfs-nginx-module/src #注意這里配置的必須是是fastdfs-nginx-module的src目錄絕對路徑
  1. 編譯安裝
    make
    make install
  2. 配置/usr/local/nginx/conf/nginx.conf
    vim /usr/local/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location /group1/M00 {
            ngx_fastdfs_module;
        }
    }
}
  1. 重新加載nginx配置文件
    cd /usr/local/nginx/sbin
    ./nginx -s reload
  2. 啟動(dòng)nginx
    cd /usr/local/nginx/sbin
    ./nginx

六、開放Linux的對外訪問的端口

  1. 查看端口占用情況
    netstat -apn
    port.png
  2. 開放上圖標(biāo)注端口,例如22122端口:
    /sbin/iptables -I INPUT -p tcp --dport 22122 -j ACCEPT
    /etc/rc.d/init.d/iptables save #將修改永久保存到防火墻中

七、測試fastdfs整合nginx

  1. 再次上傳文件
    /usr/bin/fdfs_test /etc/fdfs/client.conf upload /zhanping/resource/downloadimg.jpg

返回http://192.168.248.128/group1/M00/00/00/wKj4gFlogsuAOFWLAAAh6e61gnc931_big.jpg

  1. 通過瀏覽器訪問以上地址,顯示:


    uploadimg.png

八、此次緊緊搭建了最簡單的fastdfs+nginx,至于集群,嗯……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容