小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

fastdfs圖片服務器的搭建

 WindySky 2017-09-15

什么是 FastDFS

FastDFS 是用 c 語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網量身定制,充分

考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等指標,使用 FastDFS

很容易搭建一套高性能的文件服務器集群提供文件上傳、下載等服務。


文件上傳流程


上傳文件的文件名

客戶端上傳文件后存儲服務器將文件 ID 返回給客戶端,此文件 ID 用于以后訪問該文件的索引信息。

文件索引信息包括:組名,虛擬磁盤路徑,數據兩級目錄,文件名。

group1/M00/00/00/wKgEfVUYNYeAb7XFAAVFOL7FJU4.tar.gz

組名:文件上傳后所在的 storage 組名稱,在文件上傳成功后有 storage 服務器返回,需

要客戶端自行保存。

 虛擬磁盤路徑:storage 配置的虛擬路徑,與磁盤選項 store_path*對應。如果配置了

store_path0 則是 M00,如果配置了 store_path1 則是 M01,以此類推。

數據兩級目錄:storage 服務器在每個虛擬磁盤路徑下創(chuàng)建的兩級目錄,用于存儲數據

文件。

文件名:與文件上傳時不同。是由存儲服務器根據特定信息生成,文件名包含:源存儲服務

器 IP 地址、文件創(chuàng)建時間戳、文件大小、隨機數和文件拓展名等信息。


FastDFS 搭建


可以使用一臺虛擬機來模擬,只有一個 Tracker、一個 Storage 服務。

配置 nginx 訪問圖片。

需要的包

FastDFS_v5.05.tar.gz

fastdfs-nginx-module_v1.16.tar.gz

nginx-1.6.2.tar.gz

libfastcommon-master.zip


第一步:把 fastDFS 都上傳到 linux 系統(tǒng)。

第二步:安裝 FastDFS 之前,先安裝 libevent 工具包。

第三步:安裝 libfastcommonV1.0.7 工具包。

1、解壓縮,進入剛解壓的目錄

2、./make.sh

3、./make.sh install

libfastcommon 默認安裝到了 
/usr/lib64/libfastcommon.so 
/usr/lib64/libfdfsclient.so 

4、把/usr/lib64/libfastcommon.so 文件向/usr/lib/下復制一份

第四步:安1、解壓縮
2、./make.sh
3、./make.sh install
4、把/usr/lib64/libfastcommon.so 文件向/usr/lib/下復制一份
第四步:安裝 Tracker 服務。
1、解壓縮:tar -zxvf FastDFS_v5.05.tar.gz
2、./make.sh
3、./make.sh install
安裝后在/usr/bin/目錄下有以 fdfs 開頭的文件都是編譯出來的。
配置文件都放到/etc/fdfs 文件夾
4、把/root/FastDFS/conf 目錄下的所有的配置文件都復制到/etc/fdfs 下。

cp /root/FastDFS/conf/* /etc/fdfs
5、配置 tracker 服務。修改/etc/fdfs/tracker.conf 文件。裝 Tracker 服務。

vi /etc/fdfs/tracker.conf


base_path=/home/fastdfs/tracker

6、啟動 tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

重啟使用命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

tracker和stroage不同服務器

要打開跟蹤器端口(默認為 22122):
# vi /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重啟防火墻:
# service iptables restart


第五步:安裝 storage 服務。

1、如果是在不同的服務器安裝,第四步的 1~4 需要重新執(zhí)行。

2、配置 storage 服務。修改/etc/fdfs/conf/storage.conf 文件


base_path=/home/fastdfs/storage

store_path0=/home/fastdfs/storage

配置web server訪問端口

# the port of the web server on this storage server
http.server_port=8080

3、啟動 storage 服務。
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
第六步:測試服務。
1、修改配置文件/etc/fdfs/client.conf



2、測試
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

http://192.168.25.133:8888/group1/M00/00/00/wKgBZ1dN5vyAQ_zDAABdrZgsqUU070_big.jpg


第七步:搭建 nginx 提供 http 服務。
可以使用官方提供的 nginx 插件。要使用 nginx 插件需要重新編譯。
fastdfs-nginx-module_v1.16.tar.gz
1、解壓插件壓縮包:tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
2、修改/root/fastdfs-nginx-module/src/config 文件,把其中的 local 去掉。

vi /root/fastdfs-nginx-module/src/config 


3編譯安裝 Nginx

解壓nginx:tar -zxvf nginx-1.6.2.tar.gz

進入cd nginx-1.6.2

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--add-module=/root/fastdfs-nginx-module/src

#make && make install

4.把/root/fastdfs-nginx-module/src/mod_fastdfs.conf 文件復制到/etc/fdfs 目錄下。編輯:

vi /etc/fdfs/mod_fastdfs.conf 

修改以下配置:
connect_timeout=10
base_path=/tmp
tracker_server=192.168.25.133:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path0=/fastdfs/storage

5.配置 Nginx
簡潔版 nginx 配置樣例:

#vi /usr/local/nginx/conf/nginx.conf

  1. user root;  
  2. worker_processes 1;  
  3. events {  
  4.  worker_connections 1024;  
  5. }  
  6. http {  
  7.  include mime.types;  
  8.  default_type application/octet-stream;  
  9.  sendfile on;  
  10.  keepalive_timeout 65;  
  11.  server {  
  12.  listen 8888;  
  13.  server_name localhost;  
  14.  location ~/group([0-9])/M00 {  
  15.  #alias /fastdfs/storage/data;  
  16.  ngx_fastdfs_module;  
  17.  }  
  18.  error_page 500 502 503 504 /50x.html;  
  19.  location = /50x.html {  
  20.  root html;  
  21.  }  
  22.  }  
  23. }  
注意、說明:

A、8888 端口值是要與/etc/fdfs/storage.conf 中的 http.server_port=8888 相對應,
因為 http.server_port 默認為 8888,如果想改成 80,則要對應修改過來。
B、Storage 對應有多個 group 的情況下,訪問路徑帶 group 名,如/group1/M00/00/00/xxx,
對應的 Nginx 配置為:
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
C、如查下載時如發(fā)現老報 404,將 nginx.conf 第一行 user nobody 修改為 user root 后重新啟動。
6、將 libfdfsclient.so 拷貝至/usr/lib 下
cp /usr/lib64/libfdfsclient.so /usr/lib/

7、防火墻中打開 Nginx 的 8888 端口
# vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
# service iptables restart
8、啟動 Nginx
# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=xxx
(重啟 Nginx 的命令為:/usr/local/nginx/sbin/nginx -s reload)
14、通過瀏覽器訪問測試時上傳的文件
http://192.168.25.133:8888/group1/M00/00/00/wKgBZ1dN5vyAQ_zDAABdrZgsqUU070_big.jpg




    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多