部署環境
服務器操作系統:CentOS Linux release 7.3.1611 (Core)
IP地址:172.16.10.10
計算機名:node1.fastdfs
SELinux:關閉
Iptables:清空
FastDFS版本:v5.08(2016-02-14最新版本)
Hosts文件解析:
172.16.10.10 node1.fastdfs
FastDFS部署
軟件包安裝
yum -y install gcc gcc-c++
安裝libfastcommon,支持庫,在FastDFS源碼包裏面的INSTALL有安裝說明
libfastcommon下載地址:https://github.com/happyfish100/libfastcommon
下載完成後解壓進入到解壓後目錄執行以下命令
./make.sh ./make.sh install
安裝成功後會生成一個文件:/usr/lib64/libfastcommon.so
我們需要創建軟鏈接,因爲FastDFS程序設置的目錄不是這裏
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
安裝FastDFS
下載完成後進入安裝目錄執行以下命令
./make.sh ./make.sh install
安裝完成後配置文件在:/etc/fdfs
配置tarcker節點
創建的數據存儲和日誌存儲目錄
mkdir -pv /data/fastdfs-tracker
重命名tarcker配置文件
cd /etc/fdfs && mv tracker.conf.sample tracker.conf
配置:修改base_path的值爲/data/fastdfs-tracker
啓動服務
service fdfs_trackerd start
啓動成功後在剛創建的目錄下面會生成data和logs兩個目錄
日誌輸出內容大概如下圖所示
/data/fastdfs-tracker ├── data │ ├── fdfs_trackerd.pid │ └── storage_changelog.dat └── logs └── trackerd.log
日誌輸出內容大概如下圖所示
查看是否監聽22122端口
配置storage節點
創建數據存儲目錄和日誌存儲目錄
mkdir /data/fastdfs-storage
重命名tarcker配置文件
cd /etc/fdfs/ && mv storage.conf.sample storage.conf
修改配置文件
修改base_path路徑爲/data/fastdfs-storage
修改store_path0路徑爲/data/fastdfs-storage
修改tracker_server後面的IP的端口爲tarcker服務器的IP和監聽的端口(172.16.10.10:22122),就算在同一臺機器也不可以使用127.0.0.1
啓動服務
service fdfs_storaged start
啓動成功後在剛創建的目錄下面會生成data和logs兩個目錄,並且data目錄裏面會有很多子目錄,啓動成功會監聽23000端口
測試圖片上傳
重命名客戶端配置文件
cd /etc/fdfs/ && mv client.conf.sample client.conf
修改配置文件
修改base_path的值爲tracker配置文件裏面的base_path一樣的路徑
修改tracker_server爲tracker監控的IP和端口,如果都在本機也不可以使用127.0.0.1
上傳圖片測試,執行下面命令
fdfs_upload_file client.conf test.png
上傳成功後會返回一個類似下面的路徑
group1/M00/00/00/rBAKCloXyT2AFH_AAAD4kx1mwCw538.png
刪除文件
fdfs_delete_file client.conf group1/M00/00/00/rBAKCloXyT2AFH_AAAD4kx1mwCw538.png
如果文件不存在會報錯
FastDFS+Nginx部署
nginx軟件版本:1.6.2
Nginx需要安裝FastDFS的一個模塊,這個模塊在下載FastDFS的頁面有提供,module軟件版本:v1.16(2014-05-05最新版本)
安裝與配置
將所有源碼包複製到/usr/local/src目錄下面,然後解壓
進入到/usr/local/src/fastdfs-nginx-module/src/
修改config文件裏面的/usr/local/include/fastdfs爲/usr/include/fastdfs
修改config文件裏面的/usr/local/include/fastcommon/爲/usr/include/fastcommon/
進入到Nginx解壓後的目錄執行下面命令
yum -y install zlib-devel openssl-devel ./configure --prefix=/usr/local/nginx --with-pcre --add-module=/usr/local/src/fastdfs-nginx-module/src make make install
添加nginx可執行文件到環境變量
cat >> /etc/profile.d/nginx.conf << EOF #!/bin/sh PATH=$PATH:/usr/local/nginx/sbin export PATH EOF
刷新環境變量
source /etc/profile.d/nginx.conf
複製配置文件
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ cp /usr/local/src/FastDFS/conf/{http.conf,mime.types} /etc/fdfs/
編輯Nginx配置文件
nginx.conf(/usr/local/nginx/conf/nginx.conf)
worker_processes 2; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; } http { include mime.types; default_type application/octet-stream; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; gzip on; server_tokens off; include vhost/*.conf; }
FastDFS.conf(/usr/local/nginx/conf/vhost/FastDFS.conf)
server { listen 9000; location ~/group[1-3]/M00 { ngx_fastdfs_module; } }
啓動nginx
nginx
編輯/etc/fdfs/mod_fastdfs.conf配置文件
修改tracker_server爲taacker監聽的服務器IP和地址,不可以使用127.0.0.1
修改url_have_group_name爲true
修改store_path0的路徑爲storage配置文件配置的路徑
修改group_count爲1(因爲我們就只有一個組)
在最後增加以下配置
[group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/data/fastdfs-storage
測試
我們nginx監聽的地址爲9000,那麼我們可以使用以下URL訪問我們前面上傳的圖片
http://172.16.10.10:9000/group1/M00/00/00/rBAKCloXyT2AFH_AAAD4kx1mwCw538.png
curl結果如下: