fastDfs 分散式檔案服務 安裝配置與使用
阿新 • • 發佈:2019-01-02
先貼一波原理圖片
所有需要填寫IP的 地方全部寫公網IP 一、 FastDFS tracker部署 1.上傳FastDFS_v5.01.tar.gz至伺服器/usr/local/src目錄下; 2.依次執行以下命令 cd /usr/local/src tar xf FastDFS_v5.01.tar.gz cd FastDFS ./make.sh ./make.sh install 報如下錯誤: ./make.sh: line 180: perl: command not found 解決 yum -y install perl ./make.sh: line 14: gcc: command not found yum -y install make cmake gcc gcc-c++ 3. 建立fastdfs賬號、管理FastDFS useradd fastdfs -M -s /sbin/nologin 配置Tracker(Tracker上配置) 1、建立tracker資料以及日誌存放記錄 mkdir -p /data/fastdfs/tracker 2、修改FastDFS配置檔案 tracker.conf vi /etc/fdfs/tracker.conf 需要修改的內容如下: base_path=/data/fastdfs/tracker max_connections=1024 work_threads=8 //通常為CPU核數 store_lookup=0 //0代表輪詢方式 store_server=0 store_path=0 download_server=0 reserved_storage_space=4G run_by_group=fastdfs run_by_user=fastdfs rotate_error_log=true 4.啟動tracter /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf 判斷是否啟動: ps -ef|grep fdfs_tracker 二、 FastDFS storage部署 1.上傳FastDFS_v5.01.tar.gz和fastdfs-nginx-module_v1.15.tar.gz至伺服器/usr/local/src目錄下; 注意: 以下所有配置IP處均為伺服器內網IP可通過ifconfig檢視 IP 所有有關Nginx的操作全部切換到nginx的解壓目錄操作 2先安裝 Nginx mkdir /usr/local/software cd /usr/local/software wget http://nginx.org/download/nginx-1.9.15.tar.gz tar -zxvf nginx-1.9.15.tar.gz mv nginx-1.9.15 nginx yum -y install pcre-devel openssl openssl-devel yum -y install make cmake gcc gcc-c++ cd /usr/local/software/nginx ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid- path=/usr/local/nginx/conf/nginx.pid --with-http_ssl_module --with- http_stub_status_module make make install 測試配置是否正確 /usr/local/nginx/sbin/nginx -t 啟動nginx /usr/local/nginx/sbin/nginx 安裝fastdfs-nginx-module模組(只在storage伺服器安裝) cd /usr/local/src tar -zxvf fastdfs-nginx-module_v1.15.tar.gz cd /usr/local/software/nginx 編譯安裝nginx ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --add-module=/usr/local/src/fastdfs-nginx-module/src make make install 3.依次執行以下命令 cd /usr/local/src tar xf FastDFS_v5.01.tar.gz cd FastDFS ./make.sh(報錯參照 tracker紅色報錯解決辦法,最好是所有的安裝包都安裝) ./make.sh install 3. 建立fastdfs賬號、管理FastDFS useradd fastdfs -M -s /sbin/nologin 4、修改Nginx的配置檔案(如果nginx.pid啟動報錯就刪掉,重啟Nginx,再次執行) vi /usr/local/nginx/conf/nginx.conf 修改的內容如下: user www www; worker_processes 8; pid /usr/local/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; } http { include mime.types; default_type application/octet-stream; server { listen 80; server_name localhost; location /g1/M00 { root /data/fastdfs/storage/data; ngx_fastdfs_module; } } } 配置storage 1、建立storage資料以及日誌存放記錄 mkdir -p /data/fastdfs/storage 2、修改storage.conf檔案 vi /etc/fdfs/storage.conf 修改的內容如下: group_name=g1 base_path=/data/fastdfs max_connections=1024 work_threads=8 store_path_count=1 store_path0=/data/fastdfs/storage tracker_server=IP:22122 run_by_group=fastdfs run_by_user=fastdfs file_distribute_path_mode=1 rotate_error_log=true 3、把nginx 模組配置檔案拷貝到“/etc/fdfs”裡,並修改 cp/usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ vi /etc/fdfs/mod_fastdfs.conf 修改的內容如下: connect_timeout=30 tracker_server=IP:22122 group_name=g1 url_have_group_name = true store_path_count=1 store_path0=/data/fastdfs/storage 5、建立軟連結 cd /data/fastdfs/storage mkdir data mkdir M00 ln -s /data/fastdfs/storage/data/data/fastdfs/storage/data/M00 linux下開機啟動: cp /usr/local/src/FastDFS/init.d/fdfs_storaged /etc/init.d/ systemctl enable fdfs_storaged.service 配置storage完畢、 6.啟動nginx,fastdfs /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf /usr/local/nginx/sbin/nginx 7測試啟動是否成功: 檢視是否啟動成功 vi /etc/fdfs/client.conf 修改內容如下: base_path=/data/fastdfs tracker_server=IP:22122 執行命令檢測: fdfs_monitor /etc/fdfs/client.conf 生成以下內容則成功
8.啟動成功後上傳測試這裡採用客戶端自帶的命令上傳
fdfs_upload_file /etc/fdfs/client.conf /data/test/aaa.jpg
如果成功,會在視窗內列印儲存地址,如下圖:
這時候用過 IP/g1/M00/########### 就能訪問你storage伺服器的圖片了
由於一般是所有請求都由tracker端去處理,上傳下載都交給tracker處理,所以tracker也需要安裝nginx 與上面步驟相同 安裝完修改配置檔案 vi /usr/local/nginx/conf/nginx.conf #下載負載storage 的nginx upstream gropu1 { server storage:80 weight=1 max_fails=2 fail_timeout=30s; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #下載還有圖片回顯請求 再 由tracker伺服器跳轉到storage nginx 伺服器 location /g1/M00 { internal;#設定 tracker伺服器無法直接訪問檔案 proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://gropu1; proxy_redirect default; } #這裡是反向代理先跳轉tracker伺服器 後進行上傳操作 location /fileServer { proxy_pass http://tracker:8080; } } /usr/local/nginx/sbin/nginx -s reload
以下是tracker資料庫截圖以及tracker伺服器訪功能截圖
以下是直接訪問storage伺服器顯示圖片
但是這樣不太安全,我是不推薦讓使用者直接去接觸檔案伺服器