FastDFS 配置 Nginx 模塊及訪問測試


#備注:以下nginx-1.10.3源碼目錄根據nginx版本號不同會有相應的變化,以nginx版本號為准
#一、安裝 Nginx 和 fastdfs-nginx-module
1,安裝 Nginx 請看:Nginx安裝教程
2,下載fastdfs-nginx-module模塊,這里是通過wget下載:

wget https://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
1
3,解壓fastdfs-nginx-module_v1.16.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
1
4,將解壓后的文件夾移動到nginx源碼文件夾下

mv fastdfs-nginx-module /usr/local/nginx-1.10.3/
1
5,配置 nginx 安裝,加入fastdfs-nginx-module模塊。這是和普通 Nginx 安裝不一樣的地方,因為加載了模塊。
運行nginx -V命令查看已經安裝的nginx模塊(configure arguments:后面表示當前已經安裝的nginx模塊)

/usr/local/nginx/sbin/nginx -V
1

紅色圈圈內是當前nginx已經安裝的模塊

6,配置Nginx的參數,添加fastdfs-nginx處理模塊

// 此段代碼根據自己nginx已經安裝的模塊進行復制,在已經安裝好的模塊后面添加 --add-module=fastdfs-nginx-module/src/,以下是我的nginx已經安裝的模塊進行安裝的,每個人安裝的模塊會不一樣
./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre=/usr/local/src/pcre-8.37 --with-http_ssl_module --add-module=ngx_image_thumb-master --add-module=fastdfs-nginx-module/src/
1
2
7,編譯

make
1

但是,萬萬沒想到,報錯啦! 編譯中斷。
原因:編譯安裝nginx的fastdfs插件的頭文件沒有找到,由於編譯nginx時候系統會到/usr/local/include,而編譯安裝fastdfs-nginx-module時則默認保存在了/usr/include目錄。
修復:

ln -s /usr/include/fast* /usr/local/include/
1
接下來重新編譯就可以通過了,編譯成功后運行nginx源碼文件夾下的/usr/local/nginx-1.10.3/objs/nginx -V查看nginx安裝的模塊

/usr/local/nginx-1.10.3/objs/nginx -V
1


8,備份,安裝
備份之前目錄下的/usr/local/nginx/sbin/nginx文件,拷貝新編譯的/usr/local/nginx-1.10.3/objs/nginx到/usr/local/nginx/sbin/nginx目錄下,到此fastdfs-nginx-module模塊安裝完成。

#二、配置 fastdfs-nginx-module 和 Nginx
1,拷貝mod-fastdfs.conf到/etc/fdfs文件目錄下,配置mod-fastdfs.conf

cp /usr/local/nginx-1.10.3/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
1
2
修改mod-fastdfs.conf配置只需要修改這三個地方就行了,其他不需要也不建議改變。

# FastDFS tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
# valid only when load_fdfs_parameters_from_tracker is true
tracker_server=192.168.2.129:22122

# if the url / uri including the group name
# set to false when uri like /M00/00/00/xxx
# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx
# default value is false
url_have_group_name = true

# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
# must same as storage.conf
store_path0=/home/yuqing/fastdfs
#store_path1=/home/yuqing/fastdfs1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
接着我們需要把fastdfs-5.05下面的配置中還沒有存在/etc/fdfs中的拷貝進去

cd /usr/local/fastdfs-5.05/conf/
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
cd /etc/fdfs/
1
2
3


2,配置 Nginx。編輯nginx.conf文件

cd /usr/local/nginx/conf
vim nginx.conf
1
2
在配置文件中加入:

location /group1/M00 {
root /home/yuqing/fastdfs/data/; // 文件上傳存放目錄
ngx_fastdfs_module;
}
1
2
3
4

啟動 Nginx ,會打印出fastdfs模塊的pid,看看日志是否報錯,正常不會報錯的

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
1


3,上傳文件進行訪問測試
上傳文件

訪問測試

成功啦!!! 返回文件信息及上傳后的文件 HTTP 地址,你打開瀏覽器訪問一下試試
我這里配置的是81端口訪問,80端口已經被占用了,可以根據自己實際情況配置訪問端口(nginx默認端口是80),如果沒有特定配置端口的話把端口號改為上面訪問的端口號改為80就可以了

#三、FastDFS通過java上傳文件到服務器:點擊進入

#總結一下
這篇文章一步一步的講了通過 Nginx 結合fastdfs-nginx-module模塊來進行上傳測試及下載工作,當然這也需要結合上一篇 Tracker 和 Storage 服務來進行,這算是整體進行了 FastDFS 的安裝與配置,分布式的配置也幾乎和這沒差別,只不過是增加了不同組和多台服務器,有機會希望你親自試試。
---------------------
作者:hwmhehe
來源:CSDN
原文:https://blog.csdn.net/u012946310/article/details/81539721
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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