<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## 1. FastDFS安裝(ubuntu) 需要準備: nginx、fastdfs、libfastcommon、gcc、git ~~~ apt-get update apt-get -y install make gcc git ~~~ ### 1.1 下載安裝libfastcommon(項目通用函數庫) 1)git克隆 ~~~ git clone https://github.com/happyfish100/libfastcommon.git ~~~ 2)編譯安裝 ~~~ cd libfastcommon/ ./make.sh ./make.sh install ~~~ ### 1.2 安裝FastDFS 1)編譯安裝FastDFS ~~~ git clone https://github.com/happyfish100/fastdfs.git cd fastdfs ./make.sh ./make.sh install ~~~ 服務腳本在: ~~~ /etc/init.d/fdfs_storaged /etc/init.d/fdfs_trackerd ~~~ #### 1.2.1 配置tracker 1. 修改Tracker配置文件 ~~~ cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf vim /etc/fdfs/tracker.conf ~~~ 做以下配置 ~~~ bind_addr=192.168.56.10 # 所在服務器IP地址 base_path=/data/fastdfs/tracker ~~~ 2. 創建對應的數據存儲目錄 ~~~ mkdir -p /data/fastdfs/tracker ~~~ 3. 啟動Tracker ~~~ mv /etc/init.d/fdfs_trackerd /etc/init.d/tracker service tracker start ~~~ 4. 查看tracker是否啟動 ~~~ ps -ef |grep fdfs ~~~ ![](https://box.kancloud.cn/8675a229b2c2eedff31238621b5d0d4a_1145x90.png) #### 1.2.2 配置storage 1. 修改Storage配置文件 ~~~ cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf vim /etc/fdfs/storage.conf ~~~ 修改以下配置 ~~~ group_name=group1 bind_addr=192.168.56.10 # 所在服務器IP地址 base_path=/data/fastdfs/storage store_path0=/data/fastdfs/storage tracker_server=192.168.56.10:22122 # tracker的ip:port http.server_port=8888 # http監聽端口 ~~~ 2. 創建對應的數據存儲目錄 ~~~ mkdir -p /data/fastdfs/storage ~~~ 3. 啟動storage ~~~ mv /etc/init.d/fdfs_storaged /etc/init.d/storage service storage start ~~~ 4. 查看是否啟動 ~~~ ps -ef |grep storage ~~~ ![](https://box.kancloud.cn/c18b0447aac73cb724948998bd715a7f_1061x62.png) ### 1.3 配置Client ~~~ cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf vim /etc/fdfs/client.conf ~~~ 做下面修改 ~~~ base_path=/data/fastdfs/client tracker_server=192.168.56.10:22122 ~~~ 創建client目錄 ~~~ mkdir -p /data/fastdfs/client ~~~ 測試上傳文件 ~~~ fdfs_upload_file /etc/fdfs/client.conf ./client.conf ~~~ ![](https://box.kancloud.cn/2016f428722c385f6cba02a9701d942d_870x72.png) 如上圖上傳成功后,返回`group1/M00/00/00/wKg4ClsiIoOAHAWxAAAFtZDs6iQ79.conf`這樣的一串,這個是以后訪問這個文件的憑借。其中/00/00/上傳后文件是storage存儲目錄下的目錄,上傳的文件就在這個目錄下邊。 在storage配置的base_path下,是這樣的目錄: ![](https://box.kancloud.cn/451006498fc117d72760d57242d2fc1a_1685x168.png) ~~~ cd 00/00 ls ~~~ 可以看到剛剛上傳的文件 ![](https://box.kancloud.cn/75590c7a309e24e8cff719facd71b041_1159x47.png) ### 1.4整合nginx #### 1.4.1 下載fastdfs-nginx-module模塊 ~~~ git clone https://github.com/happyfish100/fastdfs-nginx-module.git ~~~ #### 14.2 安裝nginx 1.下載nginx nginx版本為:nginx-1.14.0 http://nginx.org/en/download.html 2.編譯安裝nginx ~~~ tar -xzvf nginx-1.14.0.tar.gz apt-get -y install libpcre3 libpcre3-dev openssl libssl-dev cd nginx-1.14.0/ ./configure \ --prefix=/usr \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=root \ --group=root \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre \ --add-module=/root/fastdfs-nginx-module/src && make && sudo make install ~~~ 3.復制fastdfs-ngin-module中的配置文件,到/etc/fdfs目錄中 ~~~ cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ ~~~ 4.修改mod_fastdfs.conf文件 ~~~ vim /etc/fdfs/mod_fastdfs.conf ~~~ 修改以下配置 ~~~ group_name=group1 connect_timeout=10 tracker_server=192.168.56.10:22122 url_have_group_name = true store_path0=/data/fastdfs/storage log_filename=mod_fastdfs.log ~~~ 5.復制FastDFS里的2個文件,到/etc/fdfs目錄中 ~~~ cp /root/fastdfs/conf/http.conf /root/fastdfs/conf/mime.types /etc/fdfs/ ~~~ 6.修改Nginx配置文件 ~~~ vim /etc/nginx/nginx.conf ~~~ 做以下配置 ~~~ server { listen 8888; # 與storage.conf文件中的http.server_port一致 server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location ~/group([0-9])/M00 { root /data/fastdfs/storage/data; ngx_fastdfs_module; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } ... } ~~~ 7.啟動Nginx ~~~ nginx ~~~ 8.測試 上傳一張圖片 ~~~ root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group1/M00/00/00/wKg4ClsiKj6AOv3sAAoHBffgMgw082.png ~~~ 訪問地址為就是nginx所在服務器地址+storage配置的http端口+上傳文件返回的一串字符串,如: http://192.168.56.10:8888/group1/M00/00/00/wKg4ClsiKj6AOv3sAAoHBffgMgw082.png ![](https://box.kancloud.cn/355032cea80ac01ef7eab07d0bc8f936_1784x931.png) ## 2. 集群搭建 在上邊講述了如何搭建了只有一個tracker server、storage server,接下來說明如何配置集群 ### 2.1 tracker集群 將tracker部署為多節點集群模式: 1.安裝tracker 按照1.1~1.2.1步驟執行 2.修改client、storage配置 ~~~ # 修改client端配置,加入tracker vim /etc/fdfs/client.conf tracker_server=tracker1_ip:22122 # 有幾個tracker就添加幾個這個配置 tracker_server=tracker2_ip:22122 # 修改nginx整合模塊配置 vim /etc/fdfs/mod_fastdfs.conf tracker_server=tracker1_ip:22122 # 有幾個tracker就添加幾個這個配置 tracker_server=tracker2_ip:22122 # 修改storage配置 vim /etc/fdfs/storage.conf tracker_server=tracker2_ip:22122 # 有幾個tracker就添加幾個這個配置 tracker_server=tracker2_ip:22122 ~~~ 重啟storage,不建議用restart ~~~ service storage stop service storage start ~~~ 執行命令`/usr/bin/fdfs_monitor /etc/fdfs/storage.conf`查看是否成功,如下圖現在tracker server數量為2兩個 ![](https://box.kancloud.cn/03b092a2e7cce92657d35b6b27ae611d_1830x427.png) ### 2.2 storage集群 #### 2.2.1 多volume/group 1.搭建多group 執行1.1~1.2,此時只要group_name配置不同即為不同的組,如下是兩個分組的配置。如果想在一個group下配置多個storage的話,指定相同的group_name即可。 group1的storage.conf ~~~ group_name=group1 bind_addr=192.168.56.10 base_path=/data/fastdfs/storage store_path0=/data/fastdfs/storage tracker_server=192.168.56.10:22122 tracker_server=192.168.56.11:22122 http.server_port=8888 ~~~ group2的storage.conf ~~~ group_name=group2 bind_addr=bind_addr=192.168.56.11 base_path=/data/fastdfs/storage store_path0=/data/fastdfs/storage tracker_server=192.168.56.10:22122 tracker_server=192.168.56.11:22122 http.server_port=8888 ~~~ 在任意的服務器上執行命令執行命令`/usr/bin/fdfs_monitor /etc/fdfs/storage.conf`,如下如現在tracker數量為2個,group數量為2個。 ![](https://box.kancloud.cn/344de339a8928ef90ac3927b17d53403_736x377.png) 此時,默認fastdfs會以load balance(負載均衡)的方式,即挑選資源較為富足的group進行文件上傳。 ~~~ root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group2/M00/00/00/wKg4C1soeX-AJvj9AAoHBffgMgw417.png root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group2/M00/00/00/wKg4C1soeZWADUQ8AAoHBffgMgw073.png root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group2/M00/00/00/wKg4C1soeZaABSmhAAoHBffgMgw325.png root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group2/M00/00/00/wKg4C1soeZeADGZmAAoHBffgMgw797.png root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group2/M00/00/00/wKg4C1soeZiAO3rNAAoHBffgMgw093.png root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group2/M00/00/00/wKg4C1soeZiAVjmdAAoHBffgMgw961.png root@ubuntu01:~# fdfs_upload_file /etc/fdfs/client.conf ./2.png group2/M00/00/00/wKg4C1soeZmAExMRAAoHBffgMgw515.png ~~~ 因為group2的資源比group1要充足,所以都文件上傳到了group2,fastdfs提供了文件上傳負載策略一共有三種 > 1. round robin: > 以輪詢的方式依次的向各個group存儲文件,對應配置值0 > 2. specify group: > 指定某一group存儲文件,對應配置值1,此時需要配合配置store_group=group_name來指定特定的組 > 3. load balance: > 選擇資源充足的組來存儲文件,為FastDFS默認配置 >
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看