• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • FastDFS教程
    FastDFS環境搭建
    分布式文件系統FastDFS的HTTP訪問
    FastDFS在Java項目中開發示例
    FastDFS在web項目中的應用
    FastDFS分布式文件系統集群

    FastDFS分布式文件系統集群

     

     

    架構圖

     

     

    ● 如果你公司剛好用這個,那你就會搭建集群

     

    ● 涉及到多個Linux,你可以更進一步熟悉一下Linux

     

    ● 提升自己駕馭復雜環境的能力

     

     

    環境搭建步驟

     

    建一個FastDFS分布式文件系統集群,推薦至少部署6個服務器節點。

     

    1. 安裝6個迷你版的Linux

     

    迷你版Linux沒有圖形界面,占用磁盤及資源小,企業里面使用的Linux都是沒有圖形界面的Linux,在安裝的時候,最少要給每一個虛擬機分配3.5G的內存空間,我這里分配5G,內存我這里分配的是512M

     

    ① 打開Vmware,點擊創建新的虛擬機

     

     

    ② 選擇典型安裝

     

     

    ③ 選擇安裝Linux迷你版安裝文件位置

     

     

    ④ 指定虛擬機名稱及安裝位置

     

     

    ⑤ 為虛擬機分配磁盤空間

     

     

    ⑥ 為虛擬機分配內存

     

    我是8G內存,每個虛擬機分配512M,因為是迷你版,所以內存消耗不會太大

     

     

    ⑦ 開啟此虛擬機

     

     

    ⑧ 開始安裝

     

     

    ⑨ 選擇語言為English

     

     

    ⑩ 打開網絡連接(重要)

     

     

    這個選項點進去完成一下就好,其它配置都可以默認,但是網絡一定要打開,否則虛擬機之間無法通訊

     

    ? 設置root用戶密碼為123456

     

     

    ? 創建普通用戶centos,設置密碼為123456

     

     

    ? 安裝完畢后,重啟安裝的CentOS系統

     

    2. 在Xshell中創建6個連接,分別連向不同的Linux

     

     

    3. 為迷你版的Linux安裝常用工具庫

     

    由于迷你版Linux缺少一些常用的工具庫,操作起來不方便,推薦安裝如下的工具庫:

     

    • 安裝lrzsz, yum install lrzsz -y

     

    • 安裝wget, yum install wget -y

     

    • 安裝vim, yum install vim -y

     

    • 安裝unzip,yum install unzip -y

     

    • 安裝ifconfig,yum install net-tools -y

     

    yum install lrzsz wget vim unzip net-tools –y

     

    打開撰寫欄,方便批量執行命令

     

     

    4. 按照課件上安裝FastDFS的步驟在6個服務器節點安裝FastDFS

     

    5.  配置兩個tracker server服務器

     

    為了方便操作,我們再啟動一次Xshell,一個Xshell操作Tracker,另一個操作Storage,將Tracker和Storage分開

     

    • 把/etc/fdfs目錄下的配置文件.sample后綴都去掉

     

    • 修改兩個tracker服務器的配置文件:

     

    tracker.conf: 修改一個地方:

     

    base_path=/opt/fastdfs/tracker #設置tracker的數據文件和日志目錄(需預先創建)

     

    • 創建存放數據的目錄

     

    6.  配置四個storage server服務器

     

    每兩個storage server為一組,共兩個組(group1 和 group2),一個組內有兩個storage server

     

    ① 修改第一組group1的第一個storage server(修改storage.conf配置文件)

     

    group_name=group1 #組名,根據實際情況修改,值為 group1 或 group2

     

    base_path=/opt/fastdfs/storage #設置storage的日志目錄(需預先創建)

     

    store_path0=/opt/fastdfs/storage/files #存儲路徑

     

    tracker_server=192.168.235.129:22122 #tracker服務器的IP地址和端口號,配2個tracker_server=192.168.235.130:22122

     

    ② 第一個組的第二個storage按照相同的步驟操作

     

    或者將第一組的配置文件下載到桌面上,然后上傳覆蓋第一組的第二個storage

     

    ③ 第二組的兩個storage也按照相同的步驟操作;唯一的區別是group_name=group2

     

    可以在桌面上對第一個組的storage文件進行修改,將組名修改為group2,然后上傳覆蓋

     

    至此,一個FastDFS的分布式文件系統集群就搭建好了。

     

    ④ 注意:配置文件中不要出現中文,另外別忘了創建配置文件中指定的目錄

     

    ⑤ 啟動兩個tracker,再啟動四個storage

     

    ⑥ 關閉6個Linux防火墻,通過09-fastdfs-java的代碼進行測試

     

    修改配置文件為兩個tracker

     

    測試負載均衡:tracker.conf文件 (修改 store_lookup=0 表示輪訓策略)

     

    7. 部署Http訪問FastDFS上的文件

     

    ① 先完成4個storage server的Nginx訪問

     

    這4個Nginx需要去fastDFS找對應的文件,所以需要安裝FastDFS的Nginx擴展模塊

     

    A、 配置帶有FastDFS擴展模塊的Nginx

     

    在四個storage server上安裝Nginx,并且加入FastDFS擴展模塊;

     

    修改兩組4個storage的nginx擴展模塊配置文件 mod_fastdfs.conf

     

    base_path=/opt/fastdfs/nginx_mod #保存日志目錄(需提前創建)
    tracker_server=192.168.230.129:22122  #tracker服務器的IP地址以及端口號
    tracker_server=192.168.230.130:22122
    group_name=group1  #當前服務器的group名,第二組應配置為group2
    url_have_group_name=true     #文件url中是否有group名
    store_path_count=1           #存儲路徑個數,需要和store_path個數匹配(一般不用改)
    store_path0=/opt/fastdfs/storage/files    #存儲路徑
    group_count = 2                   #設置組的個數
    
    在末尾增加2個組的具體信息:
    [group1]
    group_name=group1
    storage_server_port=23000
    store_path_count=1
    store_path0=/opt/fastdfs/storage/files
    
    [group2]
    group_name=group2
    storage_server_port=23000
    store_path_count=1
    store_path0=/opt/fastdfs/storage/files

     

    B、 第一組的第二臺和上面的配置一樣

     

    C、 第二組的兩臺只需要把group_name=group2即可

     

    D、 至此,mod_fastdfs.conf就配置好了。

     

    ② 配置兩組4個storage的nginx攔截請求路徑:

     

    location ~ /group[1-9]/M0[0-9] {   
        ngx_fastdfs_module;
    }

    至此4個storage服務器上的Nginx就搭建配置OK了

     

    然后可以進行測試:

     

    重啟storage,啟動Nginx

     

    http://192.168.119.128:80/group1/M00/00/00/wKh3jVx6FUCARyK2AAAANaS4cxw338.txt

     

    http://192.168.92.132:80/group1/M00/00/00/wKhchFv7xQeAQbrBAAAALDPVPvc081.txt

     

    http://192.168.92.133:80/group1/M00/00/00/wKhchFv7xQeAQbrBAAAALDPVPvc081.txt

     

    http://192.168.92.134:80/group1/M00/00/00/wKhchFv7xQeAQbrBAAAALDPVPvc081.txt

     

    注意:每一臺都可以訪問到,就算是當前組中沒有改文件,因為向瀏覽器中發送請求的時候

     

    交給Nginx進行location匹配

     

    匹配上之后調用FastDFS的擴展模塊

     

    擴展模塊會讀取擴展模塊配置文件mod_fast.conf

     

    通過擴展模塊配置文件,找到對應的Tracker,從而找到對應的文件

     

    ③ 在兩個tracker server安裝Nginx

     

    這兩個Nginx只需要做負載均衡,不要找文件,所以不需要安裝擴展模塊

     

    ④ 配置兩個tracker server服務器上的Nginx訪問

     

    部署配置nginx負載均衡:
    upstream fastdfs_storage_server {  
        server 192.168.92.131:80;  
        server 192.168.92.132:80;
        server 192.168.92.133:80;  
        server 192.168.92.134:80;  
    }
    #nginx攔截請求路徑:
    location ~ /group[1-9]/M0[0-9] {   
        proxy_pass http://fastdfs_storage_server; 
    }

     

    至此,兩個tracker服務器的Nginx就搭建配置OK了。

     

    啟動兩個tracker服務器的Nginx進行測試。

     

    http://192.168.92.129:80/group1/M00/00/00/wKhchFv7xQeAQbrBAAAALDPVPvc081.txt

     

    http://192.168.92.130:80/group1/M00/00/00/wKhchFv7xQeAQbrBAAAALDPVPvc081.txt

     

    ⑤ 部署前端用戶訪問入口服務器,該Nginx負載均衡到后端2個tracker server

     

    這個Nginx也只需要做負載均衡,不要找文件,所以不需要安裝擴展模塊,可以對Windows上的的Nginx進行配置

     

    部署配置nginx負載均衡:

     

    upstream fastdfs_tracker_server {  
        server 192.168.92.129:80;  
        server 192.168.92.130:80;  
    }
    #nginx攔截請求路徑:
    location ~ /group[1-9]/M0[0-9] {   
        proxy_pass http://fastdfs_tracker_server; 
    }

     

    訪問:http://127.0.0.1:80/group1/M00/00/00/wKhchFv7xQeAQbrBAAAALDPVPvc081.txt

     

    至此,一個三層結構的Nginx訪問架構就搭建配置OK了。為了保證高可用性,一般在入口出,會添加一個備用Nginx上,中間通過一個keepAlive軟件連接。

     

    **最后,為了讓服務能正常連接tracker,請關閉所有機器的防火墻:**

     

    systemctl status firewalld

     

    systemctl disable firewalld

     

    systemctl stop firewalld

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏