一、FastDfs 時序圖
二、安裝環境準備 centos7 環境
1、安裝git 、vim、net-tools、
#安裝工具包
yum install git
yum install vim
yum install net-tools
yum install wget
#安裝源碼
git clone https://github.com/happyfish100/fastdfs.git
git clone https://github.com/happyfish100/libfastcommon.git
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
2、安裝gcc 編譯環境
yum -y install gcc-c++
3、安裝libfastcommon
這裡可以通過git 和上傳檔案的的方式進行安裝
cd libfastcommon
./make.sh
./make.sh install
4、libfastcommon.so 預設安裝到了/usr/lib64/libfastcommon.so,但是FastDFS主程式設定的lib目錄是/usr/local/lib,是以此處需要重新設定軟連結(類似于Windows的快捷方式):
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
5、安裝fastdfs
cd fastdfs
./make.sh
./make.sh install
6、fastdfs 預設安裝到/etc/fdfs下,預設會有配置模闆,複制配置模闆
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
7、建立系統目錄,用來配置fastdfs 配置的存儲路徑
mkdir /opt/fastdfs_tracker
mkdir /opt/fastdfs_storage_data
mkdir /opt/fastdfs_storage
8、 配置tracker服務、修改 /etc/fdfs/tracker.conf 檔案
disabled=false #啟用配置檔案(預設啟用)
port=22122 #設定tracker的端口号,通常采用22122這個預設端口
base_path=/opt/fastdfs_tracker #設定tracker的資料檔案和日志目錄
http.server_port=8080 #設定http端口号,預設為8080
bind_addr= 0.0.0.0
9、建立啟動軟連結,因為fdfs_trackerd等指令在/usr/local/bin中并沒有,而是在/usr/bin路徑下:
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
10、啟動Tracker 伺服器
#開機自啟動
echo "service fdfs_trackerd start" |tee -a /etc/rc.d/rc.local
service fdfs_trackerd start
11、檢視伺服器是否開啟
ps -ef|grep fdfs
14、配置stoage 伺服器,修改存儲路勁
vim /etc/fdfs/storage.conf
#配置如下
disabled=false #啟用配置檔案(預設啟用)
group_name=group1 #組名,根據實際情況修改
port=23000 #設定storage的端口号,預設是23000,同一個組的storage端口号必須一緻
base_path=/opt/fastdfs_storage #設定storage資料檔案和日志目錄
store_path_count=1 #存儲路徑個數,需要和store_path個數比對
store_path0=store_path0=/opt/fastdfs_storage_data #實際檔案存儲路徑
tracker_server=192.168.1.111:22122 #tracker 伺服器的 IP位址和端口号,如果是單機搭建,IP
15、建立軟連結
ln -s /usr/bin/fdfs_storaged /usr/local/bin
16、啟動storaged 服務
#開機自己啟動
echo "service fdfs_storaged start" |tee -a /etc/rc.d/rc.local
service fdfs_storaged start
17、看storage伺服器是否已經登記到 tracker伺服器
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
#出現以下提示,配置成功
Storage 1:
id = 192.168.1.107
ip_addr = 192.168.1.107 ACTIVE
18、修改客服端配置
vim /etc/fdfs/client.conf
base_path=/opt/fastdfs_tracker #tracker伺服器檔案路徑
tracker_server=192.168.1.111:22122 #tracker伺服器IP位址和端口号
http.tracker_server_port=8080 # tracker 伺服器的 http 端口号,必須和tracker的設定對應起來
19、測試服務
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/yqf/0.jpg
#傳回如下
# group1/M00/00/00/wKgBa15XdAeAR0FkAAMwmrCd5UA013.jpg
三、安裝ngnix 代理檔案伺服器
1、下載下傳fastdfs-nginx-module 子產品 和nginx,安裝依賴
wget http://nginx.org/download/nginx-1.8.1.tar.gz
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
2、解壓成功後就可以編譯安裝nginx了,進入nginx目錄并輸入以下指令進行配置:
#将nginx 安裝到/usr/local/nginx 并且添加子產品,路徑要随着自己檔案目錄填寫
./configure --prefix=/usr/local/nginx --add-module=/home/yqf/fastdfs-nginx-module/src
3、安裝nginx
4、修改 storage nginx 配置
vim /usr/local/nginx/conf/nginx.conf
server {
listen 8081;
server_name localhost;
#添加配置如下
location ~/group1/M00 {
root /home/yqf/storage_data/data;
ngx_fastdfs_module;
}
}
5、然後進入FastDFS的安裝目錄**/usr/local/src/fastdfs目錄下的conf目錄,将http.conf和mime.types拷貝到/etc/fdfs**目錄下:
cp -r conf/http.conf /etc/fdfs/
cp -r conf/mime.types /etc/fdfs/
6、接下來還需要把fastdfs-nginx-module安裝目錄中src目錄下的mod_fastdfs.conf也拷貝到/etc/fdfs目錄下:
cp -r fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
7、編輯mod_fastdfs.conf
base_path=/opt/fastdfs_storage #儲存日志目錄
tracker_server=192.168.1.111:22122 #tracker伺服器的IP位址以及端口号
storage_server_port=23000 #storage伺服器的端口号
url_have_group_name = true #檔案 url 中是否有 group 名
store_path0=/opt/fastdfs_storage_data # 存儲路徑
group_count = 1 #設定組的個數,
[group1]
group_name=group1
torage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data
8、接下來還需要在存儲檔案data 建立下 M00 至存儲目錄的符号連接配接:
ln -s /opt/fastdfs_storage_data/data/ /opt/fastdfs_storage_data/data/M00
9、啟動nginx
/usr/local/nginx/sbin/nginx
10、配置tracker nginx伺服器,新建立nginx
./configure --prefix=/usr/local/nginx2 --add-module=/home/yqf/fastdfs-nginx-module/src
make && make install
11、nginx.conf配置如下,進入conf目錄并打開nginx.conf檔案加入以下配置,storage的nginx無需修改listen端口,預設的80端口,改為8081,并将upstream指向tracker的nginx位址:
listen 80;
upstream fdfs_group1 {
server 127.0.0.1:8081;
}
server{
location /group1/M00 {
proxy_pass http://fdfs_group1;
}
}
12、開放端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=8888/tcp
firewall-cmd --permanent --add-port=8081/tcp
firewall-cmd --permanent --add-port=22122/tcp
firewall-cmd --permanent --add-port=23000/tcp
#重新加載防火牆配置
firewall-cmd --reload