概述
在文件上傳的時(shí)候,上傳成功的信息中有提示我們可以通過(guò)某個(gè)路徑去訪問(wèn)上傳的文件,但是我們直接訪問(wèn)這個(gè)路徑,卻不可以,那么已經(jīng)上傳到FastDFS文件系統(tǒng)中的文件,我們?nèi)绾卧跒g覽器中訪問(wèn)呢?
FastDFS提供了一個(gè)Nginx擴(kuò)展模塊,利用該模塊,我們可以通過(guò)Nginx訪問(wèn)已經(jīng)上傳到FastDFS上的文件
1. 將Fastdfs的Nginx擴(kuò)展模塊源代碼上傳到Linux上
2. 解壓下載下來(lái)的fastdfs-nginx-module-master.zip 文件
unzip fastdfs-nginx-module-master.zip
因?yàn)檫@個(gè)模塊必須在Nginx的安裝的過(guò)程中才能添加,所有我們需要重新安裝一個(gè)nginx,為了和原來(lái)已安裝的Nginx進(jìn)行區(qū)分,我們把新安裝的Nginx取名為nginx_fdfs
1. 將Nginx的tar包上傳到Linux上
2. 解壓上傳的Nginx文件
3. 切換至解壓后的Nginx主目錄,執(zhí)行配置操作
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx_fdfs --add-
module=/home/soft/fastdfs-nginx-module-master/src
• prefix是指定nginx安裝路徑
• add-module指定fastDFS的nginx模塊的源代碼路徑
4. 執(zhí)行命令進(jìn)行編譯
make
5. 執(zhí)行命令進(jìn)行安裝
make install
6. 以上安裝Nginx的FastDFS擴(kuò)展模塊注意事項(xiàng)
我們知道,Nginx的安裝需要Linux安裝相關(guān)的幾個(gè)庫(kù),否則編譯會(huì)出現(xiàn)錯(cuò)誤,這幾個(gè)庫(kù)分別是:
• gcc編譯器是否安裝
檢查是否安裝:yum list installed | grep gcc
執(zhí)行安裝:yum install gcc -y
• openssl庫(kù)是否安裝
檢查是否安裝:yum list installed | grep openssl
執(zhí)行安裝:yum install openssl openssl-devel -y
• pcre庫(kù)是否安裝
檢查是否安裝:yum list installed | grep pcre
執(zhí)行安裝:yum install pcre pcre-devel -y
• zlib庫(kù)是否安裝
檢查是否安裝:yum list installed | grep zlib
執(zhí)行安裝:yum install zlib zlib-devel -y
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel –y
將/home/soft/fastdfs-nginx-module-master/src(自己實(shí)際存放Nginx擴(kuò)展模塊的目錄)目錄下的mod_fastdfs.conf文件拷貝到 /etc/fdfs/目錄下,這樣才能正常啟動(dòng)Nginx
cp /home/soft/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
1. 修改mod_fastdfs.conf配置文件
base_path=/opt/fastdfs/nginx_mod
tracker_server=192.168.235.128:22122
url_have_group_name = true
store_path0=/opt/fastdfs/storage/files
2. 在/opt/fastdfs/目錄下創(chuàng)建nginx_mod目錄
3. 配置Nginx的配置文件
#攔截請(qǐng)求路徑中包含 /group[1-9]/M0[0-9] 的請(qǐng)求,用 fastdfs的Nginx 模塊進(jìn)行轉(zhuǎn)發(fā)
location ~ /group[1-9]/M0[0-9] {
ngx_fastdfs_module;
}
ngx_fastdfs_module; #這個(gè)指令不是Nginx本身提供的,是擴(kuò)展模塊提供的,根據(jù)這個(gè)指令找到FastDFS提供的Nginx模塊配置文件,然后找到Tracker,最終找到Stroager。
1. 啟動(dòng)帶有Fastdfs模塊的Nginx
2. 重啟或啟動(dòng)FastDFS服務(wù)進(jìn)程
fdfs_trackerd /etc/fdfs/tracker.conf restart
fdfs_storaged /etc/fdfs/storage.conf restart
3. 上傳一個(gè)文件進(jìn)行測(cè)試驗(yàn)證
fdfs_test /etc/fdfs/client.conf upload /root/aa.txt
4. 在瀏覽器訪問(wèn)上傳的文件
當(dāng)遇到400錯(cuò)誤,檢查配置/etc/fdfs/mod_fastdfs.conf
url_have_group_name=true
該配置表示訪問(wèn)路徑中是否需要帶有g(shù)roup1,改為true表示路徑中需要有g(shù)roup1
5. 擴(kuò)展
模擬大型網(wǎng)站用戶(hù)頭像的處理方式,上傳一張圖片,然后自己寫(xiě)一個(gè)html頁(yè)面,src指向上傳的圖片。