概述
在文件上傳的時候,上傳成功的信息中有提示我們可以通過某個路徑去訪問上傳的文件,但是我們直接訪問這個路徑,卻不可以,那么已經上傳到FastDFS文件系統中的文件,我們如何在瀏覽器中訪問呢?
FastDFS提供了一個Nginx擴展模塊,利用該模塊,我們可以通過Nginx訪問已經上傳到FastDFS上的文件
1. 將Fastdfs的Nginx擴展模塊源代碼上傳到Linux上
2. 解壓下載下來的fastdfs-nginx-module-master.zip 文件
unzip fastdfs-nginx-module-master.zip
因為這個模塊必須在Nginx的安裝的過程中才能添加,所有我們需要重新安裝一個nginx,為了和原來已安裝的Nginx進行區分,我們把新安裝的Nginx取名為nginx_fdfs
1. 將Nginx的tar包上傳到Linux上
2. 解壓上傳的Nginx文件
3. 切換至解壓后的Nginx主目錄,執行配置操作
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. 執行命令進行編譯
make
5. 執行命令進行安裝
make install
6. 以上安裝Nginx的FastDFS擴展模塊注意事項
我們知道,Nginx的安裝需要Linux安裝相關的幾個庫,否則編譯會出現錯誤,這幾個庫分別是:
• gcc編譯器是否安裝
檢查是否安裝:yum list installed | grep gcc
執行安裝:yum install gcc -y
• openssl庫是否安裝
檢查是否安裝:yum list installed | grep openssl
執行安裝:yum install openssl openssl-devel -y
• pcre庫是否安裝
檢查是否安裝:yum list installed | grep pcre
執行安裝:yum install pcre pcre-devel -y
• zlib庫是否安裝
檢查是否安裝:yum list installed | grep zlib
執行安裝: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(自己實際存放Nginx擴展模塊的目錄)目錄下的mod_fastdfs.conf文件拷貝到 /etc/fdfs/目錄下,這樣才能正常啟動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/目錄下創建nginx_mod目錄
3. 配置Nginx的配置文件
#攔截請求路徑中包含 /group[1-9]/M0[0-9] 的請求,用 fastdfs的Nginx 模塊進行轉發
location ~ /group[1-9]/M0[0-9] {
ngx_fastdfs_module;
}
ngx_fastdfs_module; #這個指令不是Nginx本身提供的,是擴展模塊提供的,根據這個指令找到FastDFS提供的Nginx模塊配置文件,然后找到Tracker,最終找到Stroager。
1. 啟動帶有Fastdfs模塊的Nginx
2. 重啟或啟動FastDFS服務進程
fdfs_trackerd /etc/fdfs/tracker.conf restart
fdfs_storaged /etc/fdfs/storage.conf restart
3. 上傳一個文件進行測試驗證
fdfs_test /etc/fdfs/client.conf upload /root/aa.txt
4. 在瀏覽器訪問上傳的文件
當遇到400錯誤,檢查配置/etc/fdfs/mod_fastdfs.conf
url_have_group_name=true
該配置表示訪問路徑中是否需要帶有group1,改為true表示路徑中需要有group1
5. 擴展
模擬大型網站用戶頭像的處理方式,上傳一張圖片,然后自己寫一個html頁面,src指向上傳的圖片。