1、nginx上部署fastDFS模塊
第一步,准備工作。安裝好nginx並下載fastdfs-nginx-module。
第二步,進入到nginx的安裝目錄,輸入命令
#./configue --add-module=fastdfs-nginx-module下src目錄
./configue --add-module=/home/tx/package/fastdfs-nginx-module/src
第三步,直接make,這里很有可能會報錯
fatal error :fdfs_define.h:No such file or directory
fatal error :common_define.h:No such file or directory
首先去makefile中添加這個頭文件的路徑,注意要修改的makefile在objs目錄下,找到“-I”,在下面添加頭文件路徑
第四步,sudo make install
這時會發現有兩個nginx
但是啟動nginx發現沒有worker工作進程,查看nginx中錯誤log日志,發現在etc/fdfs下沒有找到“mod_fastdfs.conf”。找到該文件。並把文件復制到etc/fdfs目錄下並修改
啟動nginx還是發現沒有worker工作進程,查看nginx中錯誤log日志,發現在etc/fdfs下沒有找到“http.conf”。
從fastDFS上的安裝包中conf下找到http.conf,將它拷貝到etc/fdfs
從nginx的安裝包中conf找到mime.type,將它拷貝到etc/fdfs
萬事俱備。這時我們再啟動nginx
2、修改nginx上的配置文件,添加location
loaction /group1/M00 { root /home/tx/fastDFS/storage/data; ngx_fastdfs_module ; }
大功告成,重啟nginx,通過url訪問storage上的文件
在實際開發過程中,分布式文件系統只有一個存儲結點是不太可能的,大多數情況下會出現fastDFS集群,當有多個storage時,又該如何通過http訪問到集群中的某個storage上的某個文件,這時可以通過存儲節點的反向代理精確訪問。
比如我們要訪問一個url http://192.168.31.113/group1/M00/00/00/wKgfbViy2Z2AJ-FTAaM3Asg3Z0782.mp3 客戶端的請求發送給了nginx反向代理服務器 ,反向代理服務器不處理請求,轉發給存儲節點上的nginx服務器 。
反向代理服務器的配置
server{ location /group1/M00 { proxy_pass http://group1.com; } location /group2/M00 { proxy_pass http://group2.com } loctaion /group3/M00 { proxy_pass http://group3.com } } upstream group1.com { server 192.168.31.110; server 192.168.31.111; } upstream group2.com { server 192.168.31.112; server 192.168.31.113; } upstream group3.com { server 192.168.31.114; server 192.168.31.115; }
在某一台storage上的nginx配置
location /group1/M00 { root #storage配置文件中storage_path0中路徑+data ngx_fastdfs_module; }