分為兩部分,
FastDFS的依賴&本體安裝配置.
Nginx的安裝配置,以及FastDFS支持相關設置.(Nginx環境依賴另篇有寫)
一. 安裝fastdfs.
1. git下載zip包, 解壓進入
https://github.com/happyfish100/libfastcommon
https://github.com/happyfish100/fastdfs
2. 安裝依賴包libfastcommon, 和fastdfs包, 安裝方法相同.
cd 進文件夾
./make.sh sudo ./make.sh install
3.修改配置參數
安裝完之后, 直接cd 進入/etc/fdfs/
cp 作者提供的設置樣本,
sudo cp ./tracker.conf.sample ./tracker.conf sudo cp ./storage.conf.sample ./storage.conf sudo cp ./client.conf.sample ./client.conf
修改相應參數
修改tracker的文件位置,例如:/home/fastdfs/tracker ,bind_address不設置時,綁定本機地址
sudo vim ./tracker.conf
base_path=/home/fastdfs/tracker
修改storage的文件位置及上面tracker服務所在的外網地址, 例如192.168.0.1:22122
sudo vim ./storage.conf
base_path=/home/fastdfa/storage
tracker_server=192.168.0.1:22122
修改client文件位置,對應的tracker地址
base_path=/home/python/fastdfs/tracker
tracker_server=192.168.0.1:22122
4. 啟動服務
sudo /usr/bin/fdfs_tracked /etc/fdfs/tracker.conf sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
5. 查詢並上傳文件以測試服務
ps aux|grep fdfs fdfs_upload_file /etc/fdfs/client.conf 文件名
有返回文件id則服務正常
"group1/M00/00/00/wKgBA12En06AU7VbAAHew_W99e0827.jpg"
二. 安裝nginx(依賴PCRE,zlib,OpenSSL庫)
1. 下載nginx包, 以及nginx的fastdfs擴展包.
http://nginx.org/en/download.html
https://github.com/happyfish100/fastdfs-nginx-module
2. 增加nginx安裝前綴, 添加fastdfs支持
cd 進nginx解壓包
前置命令格式
sudo ./configure --prefix=[nginx所要安裝的絕對路徑]
--user=用戶名 \
--group=組 \
--with-包名1 \
--with-包名2 \
--add-module=[指向 增加的擴展包的絕對路徑內的src源代碼文件夾]
!#無限制需要則不指定user&group, 設置后用戶不匹配則無法啟動服務[emerg] getpwnam("nginx") failed
包則根據自身需要追加
例:
sudo ./configure --prefix=/usr/local/nginx/ --add-module=/home/jrri/Downloads/fastdfs-nginx-module-master/src
安裝:
sudo make sudo make install
!#如make過程中出現錯誤
objs/Makefile:440: recipe for target 'objs/src/core/ngx_murmurhash.o' failed
cd 進 ./objs內修改Makefile,將gcc參數中的-Werror刪掉即可.
3. nginx相關配置
(1)http.conf&mime.types(之前fastdfs解壓包內conf目錄內)
fastdfs-master內目錄conf內http.conf和mime.types到fdfs配置目錄
sudo cp 下載目錄/fastdfs-master/http.conf /etc/fdfs/http.conf sudo cp 下載目錄/fastdfs-master/mime.types /etc/fdfs/mime.types
並在http內添加:
server { listen 8888; server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
(2)mod_fastdfs配置(解壓包module目錄下)
fastdfs-nginx-module-master內cp目錄src內mod_fastdfs.conf到fdfs配置目錄
sudo cp 下載目錄/fastdfs-nginx-module-master/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
並更改:
connect_timeout=10 tracker_server=tracker服務所在的外網地址:22122 # 例: tracker_server=192.168.0.1:22122 url_have_group_name=true store_path0=/home/python/fastdfs/storage
4. 啟動nginx服務器
# 啟動: root執行nginx下sbin目錄內的nginx可執行文件.
sudo /usr/local/nginx/sbin/nginx
# 關閉: 可執行文件_ -s stop
sudo /usr/local/nginx/sbin/nginx -s stop
## 與Python交互需要另行配置