1、下載
環境准備:
Centos7.x 兩台,分別安裝tracker與storage服務
192.168.232.12 –-> 安裝tracker
192.168.232.13 –-> 安裝storage、nginx
需下載如下所示等安裝包
也可到如下鏈接進行下載,壓縮包內容如上所示:
鏈接:https://pan.baidu.com/s/1m0JOdm-8HuL2JgqKM4A74w
提取碼:p5xy
2、安裝
分別上傳到兩台Linux服務器之上(安裝tracker、storage)
1. 安裝基礎環境:
yum install -y gcc gcc-c++
yum -y install libevent
2. 安裝libfatscommon函數庫:
解壓:
tar -zxvf libfastcommon-1.0.42.tar.gz
進入libfatscommon文件夾,編譯安裝
cd libfatscommon-1.0.42
./make.sh
./make.sh install
安裝目錄如上所示,注意:是 /usr/bin
3. 安裝fastdfs
解壓:
tar -zxvf fastdfs-6.04.tar.gz
進入到fastdfs目錄,查看fastdfs安裝配置
cd fastdfs-6.04/
vim make.sh
安裝fastdfs
./make.sh
./make.sh install
進入fastdfs解壓后的安裝目錄,進入到里面的conf文件目錄,把conf文件夾的
所有配置文件拷貝到/etc/fdfs/之下:
3、配置Tracker服務
tracker和storage都是同一個fastdfs的主程序的兩個不同概念,配置不同的配置文件
就可以設定為tracker或storage
配置tracker
進入到(192.168.232.12)這台服務器的 /etc/fdfs 目錄之下
cd /etc/fdfs/
修改tracker配置文件,此處為tracker的工作目錄,保存數據以及日志(路徑自己指定)
vim tracker.conf
在配置文件中指定的工作目錄是不存在的,所以需要進行創建如下:
mkdir /usr/local/fastdfs/tracker -p
啟動tracker服務,使用如下命令
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
檢查進程:
ps -ef | grep tracker
停止tracker 這兒只是給出了停止服務的命令
/usr/bin/stop.sh /etc/fdfs/tracker.conf
4、配置Storage服務
配置storage
進入到(192.168.232.13)這台服務器的 /etc/fdfs 目錄之下
cd /etc/fdfs/
修改storage配置文件如下
vim storage.conf
# 修改組名,自己隨意修改 如下組名為test
group_name=test
# 修改storage的工作空間
base_path=/usr/local/fastdfs/storage
# 修改storage的存儲空間
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口號,用於心跳
tracker_server=192.168.232.12:22122
# 結合nginx的一個對外服務器端口號
http.server_port=8888
在配置文件中指定的工作目錄是不存在的,所以需要進行創建如下:
mkdir /usr/local/fastdfs/storage -p
啟動storage服務,使用如下命令
注意:必須先啟動tracker
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
檢查進程:
ps -ef | grep storage
停止storage 這兒只是給出了停止服務的命令
/usr/bin/stop.sh /etc/fdfs/storage.conf
至此,tracker、storage服務安裝成功。但是,還沒完!
5、測試
到storage服務器的 /etc/fdfs/ 目錄下修改 client.conf 配置文件
vim client.conf
修改信息如下:
# 創建一個路徑,自己隨意指定目錄文件
base_path=/usr/local/fastdfs/client
# 192.168.232.12 是tracker服務器的IP地址 22122是端口號
tracker_server=192.168.232.12:22122
創建配置文件中指定的文件
mkdir /usr/local/fastdfs/client -p
然后自己上傳一張照片到服務器進行測試,也可以在服務器通過
wget + 圖片地址 進行下載 例:wget https://timgsa.baidu.com/timg
這兒我提前上傳了一個test.jpg 圖片用作測試
接着把 test.jpg 上傳到storage下,使用如下命令:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.jpg
上傳成功之后的信息如上圖所示,表明所上傳的test.jpg被上傳到了
/usr/local/fastdfs/storage/data/ 目錄下,其中M00是個虛擬文件夾,它所對應的真實文件夾
是data。隨后進入到 /usr/local/fastdfs/storage/data/ 目錄下進行
查看(data相當於M00這個虛擬文件夾)
上傳成功!
但是,現在還不能通過瀏覽器進行訪問。還需要通過借助第三方來訪問。這就需要用到nginx
安裝nginx插件:
解壓nginx的fastdfs壓縮包
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
進入依賴插件的解壓目錄 /fastdfs-nginx-module-1.22/src 下復制配置文件如下:
cp mod_fastdfs.conf /etc/fdfs/
該文件是和nginx的一些配置
修改/fastdfs-nginx-module/src/config文件,主要是修改路徑,把 local 刪除,因為fastdfs安裝
的時候我們沒有修改路徑,原路徑是/usr/local/include,但實際安裝的路徑是/usr/bin
安裝Nginx
安裝nginx可參考 https://www.cnblogs.com/jhtian/p/12517659.html
注意:在配置nginx的時候把配置文件換成如下配置信息
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/temp/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=/home/software/fastdfs-nginx-module-1.22/src
注意:上面中的“\” 在命令行中是換行,用於提高可讀性。
--add-module=/home/software/fastdfs-nginx-module-1.22/src
--add-module是nginx和fastdfs彼此之間銜接的模塊
創建makefile文件成功
nginx安裝配置成功之后,就開始進行nginx插件的配置
進入/etc/fdfs/下,修改mod_fastdfs.conf配置文件信息
修改如下信息:
vim mod_fastdfs.conf
base_path=/usr/local/fastdfs/tmp
tracker_server=192.168.232.12:22122
group_name=test
store_path0=/usr/local/fastdfs/storage
url_have_group_name = true
然后在進入到nginx的配置文件修改nginx.conf文件如下:
vim nginx.conf
server {
listen 8888;
server_name localhost;
location /test/M00 {
ngx_fastdfs_module;
}
}
然后重啟nginx服務
看見如下信息代表配置成功!
ngx_http_fastdfs_set pid=4997
隨后,通過瀏覽器進行訪問改地址即可查看到之前上傳的那張圖片
至此,fastdfs分布式文件搭建測試成功!
解決開機服務沒有自啟動問題?
每次關機重啟都需要我們手動的去啟動服務,為了解決這個麻煩就把fastdfs的服務加入到
開啟服務里面,tracker、storage兩台機器分別進行如下設置。
Nginx+Fastdfs(tracker+storage)開機自啟動
1. 編輯 /etc/rc.d/rc.local 文件,增加啟動項
vim /etc/rc.d/rc.local
在該腳本中增加配置信息如下:
# fastdfs tracker 配置在這台服務 192.168.232.12
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# fastdfs storage 配置在這台服務 192.168.232.13
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# nginx start 開機自啟 配置在192.168.232.13
/usr/local/nginx/sbin/nginx
tracker、storage 位置不同所配置的路徑就不同
此處要保證nginx自啟動成功的話,就需要在配置nginx.pid的時候,路徑不要設置在/var/run
目錄之下。上述配置如下截圖:
tracker配置如下:
storage配置如下:
2. 給rc.local 文件增加可執行權限,因為該文件在centos 7中的文件權限降低了
chmod +x /etc/rc.d/rc.local
最后重啟兩台服務進行測試開啟自啟是否成功,如下所示:
完成!