FastDfs 分布式文件系統 (實測成功)
1、下載軟件
網上先下載需要安裝的軟件
2、前期準備
所需的工具下載完畢後,開始搭建準備,首先下載所需全部工具運行命令
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget 下載完成後,安裝rz命令 yum install lrzsz -y 通過rz命令 或者xftp上傳到/home目錄下自己新建一個目錄(根據個人習慣),主要用於1下載的軟件存放目錄。 cd /home mkdir kai ls cd kai 上傳軟件到kai目錄下
3、安裝libfastcommon
解壓剛上傳的文件,然後進入解壓完的文件目錄
[[email protected] kai]# unzip libfastcommon-master.zip
[[email protected] kai]# cd libfastcommon-master
[[email protected] libfastcommon-master]# ll
我們能看到
開始安裝,執行
[[email protected] libfastcommon-master]# ./make.sh [[email protected] libfastcommon-master]# ./make.sh install
看看有沒有報錯,沒有報錯就可以執行軟鏈接
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
4、安裝FastDfs
然後回到/home/kai (或自己創建的文件下)
解壓fastdfs
[[email protected] kai]# unzip fastdfs-5.11.zip
然後進入fastdfs5.11
[[email protected] kai]# cd fastdfs-5.11
[[email protected] kai]# ./make.sh
[[email protected] kai]# ./make.sh install
成功之後查看目錄
[[email protected] kai]# cd /etc/fdfs
[[email protected] fdfs]# ll
-rw-r--r--. 1 root root 1461 4月 23 10:20 client.conf.sample
-rw-r--r--. 1 root root 7927 4月 23 10:20 storage.conf.sample
-rw-r--r--. 1 root root 7389 4月 23 10:20 tracker.conf.sample
我們需要把這三個實例文件服務一份,去掉sample
[[email protected] fdfs]# cp client.conf.sample client.conf
[[email protected] fdfs]# cp storage.conf.sample storage.conf
[[email protected] fdfs]# cp tracker.conf.sample tracker.conf
OK,FastDFS安裝結束 。
5、安裝tracker
創建tarcker工作目錄
這個目錄可以自定義,用來保存tracker的data和log
根據習慣創建目錄:
[[email protected] fdfs]# cd /usr/
[[email protected] usr]# mkdir kai
[roo[email protected] usr]# cd kai
[[email protected] kai]# mkdir dev
[[email protected] kai]# cd dev
[[email protected] dev]# mkdir fastdfs
[[email protected] dev]# cd fastdfs
[[email protected] fastdfs]# mkdir fastdfs_tracker
[[email protected] fastdfs]# cd fastdfs_tracker
[[email protected] fastdfs_tracker]# pwd
/usr/kai/dev/fastdfs/fastdfs_tracker
[[email protected] fastdfs_tracker]#
配置tracker
[[email protected] ~]# cd /etc/fdfs
[[email protected] fdfs]# vim tracker.conf
找到以下4處進行修改即可
1.disabled=false #默認可能開啟
2.port=22122 #默認端口號
3.base_path=/usr/kai/dev/fastdfs/fastdfs_tracker #剛剛創建的目錄
4.http.server_port=80 #默認端口是8080
保存修改文件
啟動tracker 命令:
[[email protected] fdfs]# service fdfs_trackerd start
如果不能成功啟動,可以通systemctl命令
systemctl start fdfs_trackerd
成功之後可以看見
[[email protected] fdfs]# service fdfs_trackerd start
Starting fdfs_trackerd (via systemctl): [ 確定 ]
進入創建的tracker目錄。發現目錄多了data和log兩個目錄
[[email protected] fdfs]# cd /usr/kai/dev/fastdfs/fastdfs_tracker/
[[email protected] fastdfs_tracker]# ll
總用量 0
drwxr-xr-x. 2 root root 178 4月 23 10:45 data
drwxr-xr-x. 2 root root 26 4月 23 10:30 logs
我們不能每次都這麽啟動tracker,我們需要給tracker加入開機啟動
首先需要給執行權限,
[[email protected] fastdfs_tracker]# chmod +x /etc/rc.d/rc.local
然後開始修改rc.local
[[email protected] fastdfs_tracker]# vim /etc/rc.d/rc.local
在配置文件最後加下最後一句話即可
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run ‘chmod +x /etc/rc.d/rc.local‘ to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
service fdfs_trackerd start
保存,然後 查看tracker端口監聽情況
[[email protected] fastdfs_tracker]# netstat -unltp|grep fdfs
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 17664/fdfs_trackerd
到此22122端口監聽成功。
6、安裝storage
為storage配置工作目錄,由於storage還需要一個目錄用來存儲數據,所以另外多建了一個fasdfs_storage_data
[[email protected] fastdfs]# ls
fastdfs_storage fastdfs_storage_data fastdfs_tracker
修改storage配置文件
修改storage.conf
[[email protected] fastdfs]# vim /etc/fdfs/storage.conf
找到如下幾處地方修改即可
1.disabled=false
2.group_name=group1 #組名,根據實際情況修改
3.port=23000 #設置storage的端口號,默認是23000,同一個組的storage端口號必須一致
4.base_path=/usr/kai/dev/fastdfs/fastdfs_storage #設置storage數據文件和日誌目錄
5.store_path_count=1 #存儲路徑個數,需要和store_path個數匹配
6.base_path0=/usr/kai/dev/fastdfs/fastdfs_storage #實際文件存儲路徑
7.tracker_server=192.168.18.91:22122 #CentOS 7的ip地址
8.http.server_port=80 #設置 http 端口號
保存之後,創建軟引用
ln -s /usr/bin/fdfs_storaged /usr/local/bin
啟動storage
service fdfs_storaged start
同理 如果不能啟動可以用下述命令
systemctl start fdfs_storaged
成功應該是如下
[[email protected] fdfs]# service fdfs_stroaged start
Starting fdfs_stroaged (via systemctl): [ 確定 ]
同樣設置開機啟動
修改rc.local
vim /etc/rc.d/rc.local
最後加入
service fdfs_storaged start
查看服務是否啟動成功
[[email protected] fdfs]# netstat -unltp | grep fdfs
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 17664/fdfs_trackerd
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 17710/fdfs_storaged
服務啟動,到此fastdfs已經配置完成了。最後我們再確認一下,storage是否註冊到了tracker中去。
[[email protected] fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
成功後可以看到:
ip_addr = 192.168.18.91 (localhost.localdomain) ACTIVE
含上面字句就算配置成功了
[[email protected] fdfs]# vim /etc/fdfs/client.conf
base_path=/usr/kai/dev/fastdfs/fastdfs_tracker
tracker_server=192.168.18.91:22122
http.tracker_server_port=80
接下來上傳一張圖片到centos7作為測試
用xftp上傳test.jpg圖片到/home/kai目錄
接下來
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/kai/test.jpg #你上傳的圖片路徑(centos上的)
成功之後會返回圖片的路徑
[[email protected] fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/kai/test.jpg
group1/M00/00/00/wKgSW1zAYuqAaSn6AAChouYMtyM839.jpg
可以去剛上傳的路勁查看是否上傳成功
[[email protected] fdfs]# cd /usr/kai/dev/fastdfs/fastdfs_storage_data/data
能找到剛才上傳的圖片
但是現在通過瀏覽器是不能訪問的,還需要配置nginx
7、FastDFS的nginx模塊安裝
[[email protected] 00]# cd /home/kai
在安裝nginx之前先安裝nginx所需的依賴lib:
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
解壓nginx,和fastdfs-nginx-module:
[[email protected] kai]# tar -zxvf nginx-1.12.0.tar.gz
[[email protected] kai]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
進入fastdfs-nginx-module的config配置文件修改
[[email protected] kai]# cd fastdfs-nginx-module/src
[[email protected] src]# vim config
去掉圖上的local
然後進入nginx安裝目錄,添加fastdfs-nginx-module:
[[email protected] kai]# cd nginx-1.12.0
[[email protected] nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --add-module=/home/kai/fastdfs-nginx-module/src
如果沒有錯誤信息,開始安裝
[[email protected] nginx-1.12.0]# make
[[email protected] nginx-1.12.0]#make install
修改nginx的conf文件
[[email protected] nginx-1.12.0]# cd /usr/local/nginx/conf
[[email protected] conf]# vim nginx.conf
添加:
location /group1/M00 {
root /usr/kai/dev/fastdfs/fastdfs_storage_data/data;
ngx_fastdfs_module;
}
然後進入FastDFS安裝時的解壓過的目錄,將http.conf和mime.types拷貝到/etc/fdfs目錄下:
[[email protected] fastdfs-5.11]# cd /home/kai/fastdfs-5.11/conf/
[[email protected] conf]# ls
anti-steal.jpg http.conf storage.conf tracker.conf
client.conf mime.types storage_ids.conf
[[email protected] conf]# cp http.conf /etc/fdfs/
[[email protected] conf]# cp mime.types /etc/fdfs/
另外還需要把fastdfs-nginx-module安裝目錄中src目錄下的mod_fastdfs.conf也拷貝到/etc/fdfs目錄下:
[[email protected] conf]# cp /usr/kai/dev/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
對剛剛拷貝的mod_fastdfs.conf文件進行修改:
[[email protected] conf]# vim /etc/fdfs/mod_fastdfs.conf
修改:
base_path=/usr/kai/dev/fastdfs/fastdfs_storage #保存日誌目錄
tracker_server=192.168.18.91:22122 #tracker服務器的IP地址以及端口號
storage_server_port=23000 #storage服務器的端口號
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=/usr/kai/dev/fastdfs/fastdfs_storage #存儲路徑
group_count = 3 #設置組的個數,事實上這次只使用了group1
在文件的最後,設置group
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/usr/kai/dev/fastdfs/fastdfs_storage_data
store_path1=/usr/kai/dev/fastdfs/fastdfs_storage_data
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/usr/kai/dev/fastdfs/fastdfs_storage_data
[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/usr/kai/dev/fastdfs/fastdfs_storage_data
創建M00至storage存儲目錄的符號連接:
[[email protected] conf]# ln -s /usr/muyou/dev/fastdfs/fastdfs_storage_data/data/ /usr/muyou/dev/fastdfs/fastdfs_storage_data/data/M00
啟動nginx:
[[email protected] conf]# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=13397
然後把剛才圖片上傳的地址加到IP地址後面,成功,完美!
FastDfs 分布式文件系統 (實測成功)