7. ubuntu 16.04 LTS 安裝模組兒fastdfs-nginx-module
在安裝fastdfs-nginx-module 之前,首先伺服器應該正確安裝了Nginx , 並清楚地知道nginx 安裝後的目錄位置.ubuntu 下安裝Nginx 可參考筆者的另一篇部落格< 17. ubuntu 16.04 LTS 安裝 nginx> ,安裝好nginx 之後還需要下載fastdfs-nginx-module 安裝包,fastdfs-nginx-module_v1.16.tar.gz
筆者的安裝環境:
1. niginx-1.11.2, 安裝路徑:預設路徑: /usr/local/nginx 目錄, 原始碼目錄:/home/mirror/software/java/nginx/nginx-1.11.2
2. fastdfs-nginx-module_v1.16, 解壓後的位置: /home/mirror/software/java/nginx/fastdfs-nginx-module
一 安裝fastdfs-nginx-module
1. 修改檔案 xx/fastdfs-nginx-module_v1.16/src/config, 去除CORE_INCS 中的local , 因為fastdfs 和 fastcommon 在/usr/include 目錄下
2. 進入nginx 原始碼目錄:cd /home/mirror/software/java/nginx/nginx-1.11.2
3. 執行命令:./configure --add-module=/home/mirror/software/java/nginx/fastdfs-nginx-module/src
4. 執行命令: make
5. 執行命令: sudo make install
二 配置
1. 建立連線:sudo ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so, 啟動nginx 的時候需要這個檔案
2. 將 xxx/fastdfs-nginx-module/src/mod_fastdfs.conf 拷貝到 /etc/fdfs 目錄中
3. 修改 /etc/fdfs/mod_fastdfs.conf
1. 修改 tracker_server
2. 修改store_path0
3. 修改[group1]
4. 將fastdfs 安裝目錄下 conf 目錄中的 http.conf 和 mime.types 檔案拷貝到 /etc/fdfs 目錄下, 最後fastdfs 目錄結構:
三 測試模組是否安裝成功
1. 首先得啟動 fdfs 相關服務
2. 啟動nginx 服務
3. 在瀏覽器中輸入 localhost , 看nginx 是否能啟動成功,如果訪問不成功,那麼檢視/usr/local/nginx/logs/error.log 日誌
四 nginx 配置fastdfs
1. 最簡單的配置:當mod_fastdfs.conf 配置檔案中只有一個group1, 且配置了 url_have_group_name = false 時,即訪問地址不使用分組名稱,那麼只需在nginx 的配置檔案中增加以下配置即可: nginx 預設配置檔案位置: /usr/local/nginx/conf/nginx.conf
重新載入Nginx 配置檔案或者重啟Nginx服務,上傳檔案, 然後在瀏覽器中輸入:http://xxx.xxx.xxx.xxx:80/M00/00/00/rBYMk1eE6TeAWls1AADqidQ9pKY072.png 即可
2. 當配置多個組,且mod_fastdfs.conf 指定了url_have_group_name = true 時,配置方式:
瀏覽器中輸入: http://xxx.xxx.xxx.xxx:80/group1/M00/00/00/rBYMk1eE6TeAWls1AADqidQ9pKY072.png
注: 兩種方式取決於配置url_have_group_name = false, 推薦使用第一種配置方式
五 常見錯誤:
1. 由於fastdfs-nginx-module_v1.16/src/config 中沒有做相應修改導致的,需要修改之後,重新進行configure操作
2.解決方案: 建立連線:sudo ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3. 解決方案: 從fastdfs-nginx-modules/src 目錄下拷貝 mod_fastdfs.conf 到 /etc/fdfs 目錄
4. 解決方案:mod_fastdfs.conf 中 #include http.conf 不能寫成 ##include http.conf
5. 解決方案:從fdfs 安裝目錄下的conf 目錄拷貝 mime.types 到 /etc/fdfs 目錄下