Linux下使用FastDFS
目錄
一、安裝FastDFS
1、安裝c語言環境
2、上傳所需要的文件
3、安裝c函數庫?
4、安裝FastDFS
1.安裝過后查看是否安裝成功
5、配置并啟動tracker服務
1.配置修改文件
2.啟動
6、配置并啟動storage服務
1.配置修改文件
2.啟動
二、使用nginx訪問FastDFS
1、為什么需要用Nginx訪問
三、安裝fastdfs-nginx-module插件
1、解壓
2、修改config
四、安裝nginx
1、安裝nginx
2、配置動靜分離
3、配置nginx開機自啟動?
一、安裝FastDFS
1、安裝c語言環境
[root@localhost ~]# yum -y install gcc2、上傳所需要的文件
[root@localhost ~]# cd /usr/uplocad [root@localhost upload]# rz3、安裝c函數庫?
[root@localhost upload]# unzip libfastcommon-master.zip [root@localhost upload]# cd libfastcommon-master [root@localhost libfastcommon-master]# ./make.sh #編譯 [root@localhost libfastcommon-master]# ./make.sh install #安裝4、安裝FastDFS
[root@localhost libfastcommon-master]# cd .. [root@localhost upload]# tar -zxvf FastDFS_v5.08.tar.gz [root@localhost upload]# cd FastDFS [root@localhost FastDFS]# ./make.sh #編譯 [root@localhost FastDFS]# ./make.sh install #安裝1.安裝過后查看是否安裝成功
查看是否有以下這兩個腳本:
fdfs_trackerd 是tracker啟動腳本
fdfs_storaged是storage啟動腳本
[root@localhost FastDFS]# ll /etc/init.d/ | grep fdfs查看是否有以下這三個配置文件:
tarcker.conf.sample是tracker的配置文件模板
storage.conf.sample是storage的配置文件模板
client.conf.sample是客戶端的配置文件模板
[root@localhost FastDFS]# ll /etc/fdfs 這里之所以把兩個服務都配置到一臺服務器,是因為資源有限。5、配置并啟動tracker服務
1.配置修改文件
首先將模板文件復制 ,留作備份
[root@localhost FastDFS]# cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf?修改復制后的配置文件:
[root@localhost FastDFS]# vim /etc/fdfs/tracker.conf下圖中圈中的位置是指: 存儲日志和數據的根目錄
我這里是根據自己的需求修改為自己的目錄
?
?創建目錄,此目錄為上圖中路徑中的目錄路徑,目錄命名可以自己決定
[root@localhost FastDFS]# mkdir -p /powershop/tracker注意:關閉防火墻(我這里已經關閉過了)
chkconfig iptables off
2.啟動
?啟動fdfs_trackerd腳本
[root@localhost FastDFS]# service fdfs_trackerd start #啟動fdfs_trackerd服務,停止用stop?檢查FastDFS Tracker Server是否啟動成功
[root@localhost FastDFS]# ps -ef | grep fdfs_trackerd?設置tracker服務開機啟動
[root@localhost FastDFS]# chkconfig fdfs_trackerd on6、配置并啟動storage服務
1.配置修改文件
首先將模板文件復制 ,留一個備份
[root@localhost FastDFS]# cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf修改復制后的配置文件 ?
[root@localhost FastDFS]# vim /etc/fdfs/storage.confbase_path=/powershop/storage???????????????? # 日志文件存儲根目錄
store_path0=/powershop/storage?????????? # 文件存儲目錄
tracker_server=192.168.238.134:22122?????? #? tracker服務器IP和端口
新建目錄
[root@localhost FastDFS]# mkdir -p /powershop/storage2.啟動
?啟動fdfs_storaged腳本
[root@localhost FastDFS]# service fdfs_storaged start #啟動fdfs_storaged服務,停止用stop檢查FastDFS Tracker Server是否啟動成功
[root@localhost FastDFS]# ps -ef | grep fdfs設置storage服務開機啟動 ?
[root@localhost FastDFS]# chkconfig fdfs_storaged on二、使用nginx訪問FastDFS
1、為什么需要用Nginx訪問
FastDFS通過Tracker服務器,將文件放在Storage服務器存儲,但是同組存儲服務器之間需要進入文件復制,有同步延遲的問題。
假設Tracker服務器將文件上傳到了192.168.4.125,上傳成功后文件ID已經返回給客戶端。此時FastDFS存儲集群機制會將這個文件同步到同組存儲192.168.4.126,在文件還沒有復制完成的情況下,客戶端如果用這個文件ID在192.168.4.126上取文件,就會出現文件無法訪問的錯誤。
而fastdfs-nginx-module可以重定向文件連接到文件上傳時的源服務器取文件,避免客戶端由于復制延遲導致的文件無法訪問錯誤
三、安裝fastdfs-nginx-module插件
1、解壓
[root@localhost FastDFS]# cd /usr/upload [root@localhost upload]# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz2、修改config
進入src目錄
[root@localhost upload]# cd fastdfs-nginx-module/src/編輯config
[root@localhost src]# vim config使用以下底行命令
:%s+/usr/local/+/usr/+g?原文件內容
?將所有的/usr/local替換為 /usr,這個才是正確的目錄 3、配置fastdfs-nginx-module與FastDFS關聯
復制 fastdfs-nginx-module 源碼中的配置文件到/etc/fdfs 目錄, 并修改
[root@localhost src]# cp /usr/upload/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ [root@localhost src]# vim /etc/fdfs/mod_fastdfs.conf原內容
?
修改以下內容
connect_timeout=10
tracker_server=192.168.238.134:22122
url_have_group_name?=?true
store_path0=/powershoporage
?復制 FastDFS 的部分配置文件到/etc/fdfs 目錄,否則不支持nginx
[root@localhost src]# cd /usr/upload/FastDFS/conf/ [root@localhost conf]# cp http.conf mime.types /etc/fdfs/四、安裝nginx
1、安裝nginx
安裝nginx的依賴庫
[root@localhost conf]# yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel解壓安裝包
[root@localhost conf]# cd /usr/upload [root@localhost upload]# tar -zxvf nginx-1.10.0.tar.gz配置nginx安裝包,并指定fastdfs-nginx-model
[root@localhost upload]# cd nginx-1.10.0 [root@localhost nginx-1.10.0]# ./configure --prefix=/usr/local/nginx --add-module=/usr/upload/fastdfs-nginx-module/src注意:在執行./configure配置nginx參數的時候,需要將fastdfs-nginx-moudle源碼作為模塊編譯進去。
編譯并安裝
[root@localhost nginx-1.10.0]# make && make install2、配置動靜分離
修改nginx配置文件
[root@localhost nginx-1.10.0]# cd /usr/local/nginx [root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf修改以下內容
?添加以下內容
啟動nginx ,進行測試
./nginx?? ?# 啟動nginx
./nginx -s stop?? ?# 停止nginx
./nginx -s reload?? ?# 重新載入配置文件
3、配置nginx開機自啟動?
添加nginx.service文件
[root@localhost nginx]# vim /lib/systemd/system/nginx.service:文件內容如下
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
設置開機自啟
systemctl daemon-reload??????? #重新加載服務配置
systemctl enable nginx.service #設置為開機啟動
systemctl start nginx.service? #啟動服務
systemctl status nginx.service #查看服務狀態
systemctl stop nginx.service?? #停止服務
表示開機啟動已經設置成功
總結
以上是生活随笔為你收集整理的Linux下使用FastDFS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 圆梦腾讯之后,我收集整理了这份“2022
- 下一篇: Environment 概述