需要準備的軟件包:
- fastdfs-nginx-module_v1.16.tar.gz
- FastDFS_v5.08.tar.gz
- keepalived-1.2.18.tar.gz
- libfastcommon-master.zip
- nginx-1.8.0.tar.gz
- ngx_cache_purge-2.3.tar.gz
- ngx_cache_purge-master.zip
資源地址: https://sourceforge.net/projects/fastdfs/
開始安裝
#確定全局變量
# tracker的basepath
base_path_1="\/var\/local\/fast_fds_data"
# storage的basepath
base_path_2="\/var\/local\/fast_fds_data"
#客戶端的 base path
base_path_3="\/var\/local\/fast_fds_data"
#數據存儲路徑
store_path0="\/var\/local\/fast_fds_data"
tracker_server=node01:22122
# 下載依賴
git clone https://git.dev.tencent.com/romantic/software_quick_install_1.git
#安裝編譯依賴
yum install -y make cmake gcc gcc-c++ unzip
#創建臨時文件
mkdir tmp
#解壓縮,準備編譯 fast-dfs common lib
mkdir tmp/fast_dfs_common
unzip software_quick_install_1/fast_DFS/libfastcommon-master.zip -d tmp/fast_dfs_common
cd tmp/fast_dfs_common/libfastcommon-master/
./make.sh
./make.sh install
cd -
#創建軟連接
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
#FastDFS主程序安裝
mkdir tmp/fast_dfs_main
tar -zxf software_quick_install_1/fast_DFS/FastDFS_v5.08.tar.gz -C tmp/fast_dfs_main
cd tmp/fast_dfs_main/FastDFS/
./make.sh
./make.sh install
cd -
#修改配置文件
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
#vi /etc/fdfs/tracker.conf
#修改 base_path
sed -i -r "s/(base_path=).+/\1$base_path_1/" /etc/fdfs/tracker.conf
#啓動tracker
/etc/init.d/fdfs_trackerd start
cp /etc/fdfs/ storage.conf.sample /etc/fdfs/ storage.conf
#vi /etc/fdfs/ storage.conf
#修改base_path store_path0 tracker_server
sed -i -r "s/(base_path=).+/\1$base_path_2/" /etc/fdfs/storage.conf
sed -i -r "s/(store_path0=).+/\1$store_path0/" /etc/fdfs/storage.conf
sed -i -r "s/(tracker_server=).+/\1$tracker_server/" /etc/fdfs/storage.conf
#啓動storage
/etc/init.d/fdfs_storaged start
cp /etc/fdfs/ client.conf.sample /etc/fdfs/ client.conf
#修改base_path tracker_server
sed -i -r "s/(base_path=).+/\1$base_path_3/" /etc/fdfs/client.conf
sed -i -r "s/(tracker_server=).+/\1$tracker_server/" /etc/fdfs/client.conf
#安裝 nginx組件
mkdir tmp/fast_dfs_nginx-module
tar -zxf software_quick_install_1/fast_DFS/fastdfs-nginx-module_v1.16.tar.gz -C tmp/fast_dfs_nginx-module
#vi tmp/fast_dfs_nginx-module/fastdfs-nginx-module/src/config
#修改 CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
src=CORE_INCS.+ ; des="CORE_INCS=\"\$CORE_INCS \/usr\/include\/fastdfs \/usr\/include\/fastcommon\/\"" ; sed -i -r "s/$src/$des/" tmp/fast_dfs_nginx-module/fastdfs-nginx-module/src/config
#安裝編譯nginx 模塊
yum install gcc openssl-devel pcre-devel zlib-devel -y
mkdir tmp/tengine
tar -zxf software_quick_install_1/tengine-2.3.2.tar.gz -C tmp/tengine/
cd tmp/tengine/tengine-2.3.2/
./configure --prefix=/usr/local/tengine --add-module=/root/tmp/fast_dfs_nginx-module/fastdfs-nginx-module/src
make && make install
cd -
#拷貝配置文件
cp tmp/fast_dfs_nginx-module/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
#vi /etc/fdfs/mod_fastdfs.conf
#修改 tracker_server=192.168.2.109:22122,url_have_group_name = true,store_path0=/var/data/xxx
sed -i -r "s/(tracker_server=).+/\1$tracker_server/" /etc/fdfs/mod_fastdfs.conf
sed -i -r "s/(store_path0=).+/\1$store_path0/" /etc/fdfs/mod_fastdfs.conf
sed -i -r "s/(url_have_group_name=).+/\1true/" /etc/fdfs/mod_fastdfs.conf
#拷貝http服務需要的配置
cp tmp/fast_dfs_main/FastDFS/conf/http.conf /etc/fdfs/
cp tmp/fast_dfs_main/FastDFS/conf/mime.types /etc/fdfs/
#建立軟連接
ln -s /var/data/fastdfs-storage/store/data/ /var/data/fastdfs-storage/store/data/M00
命令目錄:
cd /usr/bin/
ls fdfs_*
fdfs_appender_test
fdfs_append_file
fdfs_delete_file
fdfs_file_info
fdfs_storaged
fdfs_test1
fdfs_upload_appender
fdfs_appender_test1
fdfs_crc32
fdfs_download_file fdfs_monitor
fdfs_test
fdfs_trackerd
fdfs_upload_file
#測試上傳文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /etc/fdfs/client.conf
#測試刪除文件
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgBa12GsJ-AElh5AAAFuIaHmFY73.conf
配置文件目錄
ls /etc/fdfs/ -l
client.conf.sample
storage.conf.sample
tracker.conf.sample
http.conf 後期加入的
mime.types 後期加入的
mod_fastdfs.conf