使用nginx訪問FastDFS fastdfs nginx


文中所有~~~均為同一個自定義文件夾名字,一般使用項目名稱

2.1.為什么需要用Nginx訪問?

FastDFS通過Tracker服務器,將文件放在Storage服務器存儲,但是同組存儲服務器之間需要進入文件復制,有同步延遲的問題。

假設Tracker服務器將文件上傳到了192.168.4.125,上傳成功后文件ID已經返回給客戶端。此時FastDFS存儲集群機制會將這個文件同步到同組存儲192.168.4.126,在文件還沒有復制完成的情況下,客戶端如果用這個文件ID在192.168.4.126上取文件,就會出現文件無法訪問的錯誤。

而fastdfs-nginx-module可以重定向文件連接到文件上傳時的源服務器取文件,避免客戶端由於復制延遲導致的文件無法訪問錯誤

2.2.安裝fastdfs-nginx-module

2.2.1.解壓

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

 

2.2.2.修改config

1)進入src目錄

cd fastdfs-nginx-module/src/

 

2)編輯config

vim config

 

使用以下底行命令:

:%s+/usr/local/+/usr/+g

 

將所有的/usr/local替換為 /usr,這個才是正確的目錄:

 

 

 

2.2.3.配置nginx與FastDFS關聯配置文件

復制 fastdfs-nginx-module 源碼中的配置文件到/etc/fdfs 目錄, 並修改

cp /usr/local/leyou/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
​
vi /etc/fdfs/mod_fastdfs.conf

 

修改以下配置:

connect_timeout=10                       # 客戶端訪問文件連接超時時長(單位:秒)
​
tracker_server=192.168.56.101:22122 # tracker服務IP和端口,ip為自己的虛擬機tracker服務ip,端口號為默認的fastdfs端口號,未修改擇,不需修改 ​ url_have_group_name=true # 訪問鏈接前綴加上組名 ​ store_path0=/自定義文件路徑(后文使用~~~代表)/storage # 文件存儲路徑

 

復制 FastDFS 的部分配置文件到/etc/fdfs 目錄

cd /usr/local/~~~/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/

2.3.安裝Nginx的插件

2.3.1.如果沒有安裝過nginx

  • 安裝nginx的依賴庫

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

 

  • 解壓安裝包

tar -zxvf nginx-1.10.0.tar.gz

 

  • 配置nginx安裝包,並指定fastdfs-nginx-model

cd nginx-1.10.0
​
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/~~~/fastdfs-nginx-module/src

 

注意:在執行./configure配置nginx參數的時候,需要將fastdfs-nginx-moudle源碼作為模塊編譯進去。

 

  • 編譯並安裝

make && make install

 

2.3.2.如果已經安裝過nginx

1) 進入nginx目錄:

cd /usr/local/~~~/nginx-1.10.0/

 

2) 配置FastDFS 模塊

./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/~~~/fastdfs-nginx-module/src

 

注意:這次配置時,要添加fastdfs-nginx-moudle模塊

 

3) 編譯,注意,這次不要安裝(install)

make

 

4) 替換nginx二進制文件:

備份:

mv /usr/bin/nginx /usr/bin/nginx-bak

 

用新編譯的nginx啟動文件替代原來的:

cp objs/nginx /usr/bin/

 

2.3.3.啟動nginx

配置nginx整合fastdfs-module模塊

我們需要修改nginx配置文件,在/opt/nginx/config/nginx.conf文件中:

vim  /opt/nginx/conf/nginx.conf

將文件中,原來的server 80{ ...} 部分代碼替換為如下代碼:

nginx.conf

啟動nginx:

nginx   # 啟動nginx
​
nginx -s stop # 停止nginx ​ nginx -s reload # 重新載入配置文件

 

# 可通過ps -ef | grep nginx查看nginx是否已啟動成功

 

 上面為主進程,下面為工作進程。如只有一個進程擇配置有問題,工作進程的個數刻字機配置,但是一般為cpu的核數

2.3.4.設置nginx開機啟動

創建一個開機啟動的腳本:

vim /etc/init.d/nginx

 

添加以下內容:

shell Code

修改文件權限,並加入服務列表

# 修改權限
chmod 777 /etc/init.d/nginx 

# 添加到服務列表
chkconfig --add /etc/init.d/nginx 
 

設置開機啟動

chkconfig nginx on

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM