Linux新手入門系列:FastDFS單機安裝部署

本文是FastDFS的單機部署。

本系列文章是把作者剛接觸和學習Linux時候的實操記錄分享出來,內容主要包括Linux入門的一些理論概念知識、Web程序、mysql數據庫的簡單安裝部署,希望能夠幫到一些初學者,少走一些彎路。

注意:

Linux下區(qū)分大小寫;
Linux多用戶多線程;
Linux下每個文件和目錄都有訪問權限;

FastDFS單機安裝部署

本文是FastDFS的單機部署。
安裝環(huán)境:CentOS7 64位、FasDFS-5.12、libfastcommon-1.0.38、fastdfs-nginx-module-1.20、nginx-1.20.1

FastDFS#、#FastDFS安裝#、#FastDFS單機部署#

1.準備工作

1)FastDFS及其組件下載地址
https://gitee.com/fastdfs100

https://github.com/happyfish100
2)創(chuàng)建fastdfs目錄

# mkdir -p /home/fastdfs/tracker #tracker服務的base_path目錄,存儲數據和日志的根目錄,含存儲storage分組信息、存儲storage服務器列表、tracker server日志
# mkdir -p /home/fastdfs/storage #storage服務的base_path目錄,存儲數據和日志的根目錄,含存當前storage server初始化信息、當前storage server統(tǒng)計信息
、數據同步sync信息(更新日志binlog、同步完成情況)、storage server日志
# mkdir -p /home/fastdfs/client #client目錄,存儲數據和日志的根目錄
# mkdir -p /home/fastdfs/storage0 #storage_path目錄,即文件存儲目錄

或者,一次性創(chuàng)建多個多級目錄

# mkdir -p /home/fastdfs/{tracker,storage,client,storage0}

3)解壓縮tar.gz安裝包

# cd /home/soft
# tar -zxvf libfastcommon-1.0.38.tar.gz
# tar -zxvf fastdfs-5.12.tar.gz
# tar -zxvf fastdfs-nginx-module-1.20.tar.gz
# tar -zxvf nginx-1.20.1.tar.gz

或者,一次性解壓當前目錄下多個tar.gz安裝包,使用的時候注意目錄下非fastdfs的tar.gz包

# for f in ./*.tar.gz; do tar zxvf $f; done

2.開始安裝

1)安裝依賴包

# yum install -y gcc-c++ zlib-devel pcre-devel openssl-devel

2)編譯安裝libfastcommon

# cd /home/soft/libfastcommon
# ./make.sh
# ./make.sh install

3)編譯安裝FastDFS

# cd /home/soft/fastdfs
# ./make.sh
# ./make.sh install

4)編譯安裝nginx與fastdfs-nginx-module模塊

# cd /home/soft/nginx
# ./configure --add-module=/home/soft/fastdfs-nginx-module/src
# make
# make install

3.配置FastDFS

1)配置文件準備

服務器ip為172.16.2.100
  • FastDFS配置文件準備
# cd /etc/fdfs
# cp tracker.conf.sample tracker.conf #tracker配置文件
# cp storage.conf.sample storage.conf #storage配置文件
# cp client.conf.sample client.conf #客戶端配置文件,測試上傳文件用
  • nginx訪問配置文件準備
# cp /home/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs #mod_fastdfs配置文件,供nginx訪問使用
# cp /home/soft/fastdfs/conf/http.conf /etc/fdfs #供nginx訪問使用
# cp /home/soft/fastdfs/conf/mime.types /etc/fdfs #供nginx訪問使用

2)配置tracker.conf文件

# vim /etc/fdfs/tracker.conf

需要修改的內容如下:

port=22122 #tracker服務器端口(默認22122,一般不修改)
base_path=/home/fastdfs/tracker #存儲數據和日志的根目錄

3)配置storage.conf文件

# vim /etc/fdfs/storage.conf

需要修改的內容如下:

port=23000 #storage服務端口(默認23000,一般不修改)
base_path=/home/fastdfs/storage #存儲數據和日志的根目錄
store_path0=/home/fastdfs/storage0 #第一個文件存儲目錄
tracker_server=172.16.2.100:22122 #tracker服務器
http.server_port=80 #使用http訪問文件時的端口(和nginx中保持一致)

4)配置client.conf文件(用于測試上傳文件)

vim /etc/fdfs/client.conf

需要修改的內容如下:

base_path=/home/fastdfs/client #存儲數據和日志的根目錄
tracker_server=172.16.2.100:22122  # tracker服務器

5)啟動tracker服務和storage服務

# systemctl start fdfs_trackerd
# systemctl start fdfs_storaged

6)配置fastdfs開機自啟動

# systemctl enable fdfs_trackerd
# systemctl enable fdfs_storaged

7)測試上傳文件

# fdfs_upload_file /etc/fdfs/client.conf /tmp/a.txt

返回FID表示成功 如:group1/M00/00/00/xx.txt

8)參數說明

base_path #存儲數據和日志的根目錄
    tracker的base_path #tracker服務的base_path目錄,存儲數據和日志的根目錄,含存儲storage分組信息、存儲storage服務器列表、tracker server日志
    storage的base_path #storage服務的base_path目錄,存儲數據和日志的根目錄,含存當前storage server初始化信息、當前storage server統(tǒng)計信息
、數據同步sync信息(更新日志binlog、同步完成情況)、storage server日志

tracker_server #可以配置多個tracker_server,格式為:ip:port
group_name #group組名稱,對應FID中的group1
bind_addr #服務器ip綁定
store_path_count #store_path(數字)的個數,默認為1,根據store_path數量更改個數
store_path(數字) #可以設置多個文件儲存目錄,數字從0開始,對應FID中的M00

關于FID詳述可以參考上篇文章。

4.配置nginx訪問

1)配置mod_fastdfs.conf

# vim /etc/fdfs/mod_fastdfs.conf

需要修改的內容如下:

tracker_server=172.16.2.100:22122 #tracker服務器IP和端口
storage_server_port=23000 #storage服務端口(與storage.conf中port保持一致)
url_have_group_name=true #url中是否包含group名稱
store_path0=/home/fastdfs/storage0 #第一個文件存儲目錄

2)配置nginx.config

vim /usr/local/nginx/conf/nginx.conf

nginx.config添加如下配置:

server {
    listen       80;    # 該端口為storage.conf中的http.server_port相同
    server_name  localhost;
    location ~/group[0-9]/ {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }
}

3)啟動nginx服務

# /usr/local/nginx/sbin/nginx

4)配置nginx開機自啟動
將/usr/local/nginx/sbin/nginx,添加到rc.local文件

# vim /etc/rc.d/rc.local

添加以下內容:

# nginx start
/usr/local/nginx/sbin/nginx

5)nginx文件訪問測試
在瀏覽器中輸入剛剛測試上傳過的文件地址(storage的ip+nginx端口+FID),這里nginx端口是80。
http://172.16.2.100/group1/M00/00/00/xx.txt

在這里插入圖片描述
在這里插入圖片描述

IT小胖豆:初學者踩坑之路及過程分享,希望能夠幫到一些初學者,歡迎各位IT打工人,入坑討論-_-

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容