FastDFS は、ファイルを管理するオープンソースの軽量分散ファイル システムです。機能には、ファイルストレージ、ファイル同期、ファイルアクセス(ファイルのアップロード、ファイルのダウンロード)などがあり、大容量ストレージと負荷分散の問題を解決します。特に、フォトアルバム Web サイトやビデオ Web サイトなど、ファイルをキャリアとして使用するオンライン サービスに適しています。 FastDFS は、冗長バックアップ、負荷分散、線形拡張などのメカニズムを十分に考慮し、高可用性や高パフォーマンスなどの指標に重点を置いて、インターネット向けにカスタマイズされています。 FastDFS を使用すると、ファイルのアップロード、ダウンロード、その他のサービスを提供する高性能ファイル サーバー クラスターを簡単に構築できます。 1. libfastcommonをダウンロードしてインストールする libfastcommon は、基本環境である FastDFS および FastDHT から抽出された共通 C 関数ライブラリであり、インストールできます。 1.1 ダウンロード: - https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz を取得します。
1.2 解凍: - tar -zxvf V1.0.7.tar.gz
1.3 インストール: - libfastcommon-1.0.7 をインストールします
-
- ./make.sh
-
- ./make.sh インストール
1.4 ファイルをコピーする: FastDFS の lib 構成ファイル パスの問題を解決します。 - cp/usr/lib64/libfastcommon.so/usr/ローカル/lib/libfastcommon.so
- cp/usr/lib64/libfastcommon.so/usr/lib/libfastcommon.so
2. FastDFSをダウンロードしてインストールする 2.1 ダウンロード: - https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz をダウンロードしてください
2.2 減圧: - tar -zxvf V5.05.tar.gz
2.3 インストール: - cd fastdfs-5.05
- ./make.sh
- ./make.sh インストール
インストールが完了すると、デフォルトの設定ファイル ディレクトリは /etc/fdfs/ になり、デフォルトのコマンドは /usr/bin/ に配置され、fdfs_ で始まります。 3. FastDFSを構成する まず、設定ファイルを /etc/fdfs ディレクトリにコピーします。 - cd/home/fantj/download/fastdfs-5.05/conf
-
- cp*/etc/fdfs/
-
- 次のように:
-
- [root@s168 conf]#cd /etc/fdfs/
-
- [root@s168 fdfs]#ls
-
- anti-steal.jpg client.conf.sample mime.types storage.conf.sample tracker.conf
-
- client.conf http.conf storage.conf storage_ids.conf tracker.conf.sample
3.1. tracker.conf の設定 FastDFSトラッカー 次の構成を変更します。 - #トラッカーデータとログディレクトリのアドレス(ルートディレクトリが存在する必要があり、サブディレクトリは自動的に作成されます)
- ベースパス=/fastdfs/トラッカー
- ポート=22122
3.1.1 ディレクトリを作成します。 mkdir-p /fastdfs/tracker3.1.2 開始/停止: fdfs_trackerd/etc/fdfs/tracker.conf の start/stop は、デフォルトで /etc/fdfs の下の設定ファイルを使用します。特定の構成がある場合は、最後にパラメータを追加できます。ファイアウォールがある場合は、ファイアウォールのルールを開きます。 3.1.3 スタートアップを設定する: - # systemctl で fdfs_trackerd を有効にする
-
-
- または:
-
- # vim /etc/rc.d/rc.local
-
- 設定を追加します:
-
- /etc/init.d/fdfs_trackerd 開始
3.1.4 トラッカーサーバーのディレクトリとファイル構造: Tracker サービスが正常に開始されると、base_path の下に data と logs の 2 つのディレクトリが作成されます。ディレクトリ構造は次のとおりです。 - ${ベースパス}
-
- |__データ
-
- | |__storage_groups.dat: ストレージグループ情報
-
- | |__storage_servers.dat: ストレージサーバーリスト
-
- |__ログ
-
- | |__trackerd.log: トラッカーサーバーのログファイル
3.2.ストレージの構成 以下は基本的な構成です。さらに詳細なニーズがある場合は、すべての構成を確認してください。 - group_name=fantj #グループ名
-
- base_path=/fastdfs/storage #ログディレクトリ
-
- store_path0=/fastdfs/storage #ストレージディレクトリ
-
- tracker_server=192.168.27.168:22122 #トラッカーノード
-
- http.server_port=8888 #ポート
3.2.1 起動 - こうやって始められます
-
- fdfs_storaged/etc/fdfs/storage.conf 開始
-
- この方法を使用して、後でこの方法を使用することもできます。
-
- # サービス fdfs_storaged 開始
3.2.2 プロセスの確認 netstat-unltp|grep fdfs3.2.3 ストレージの起動 - # systemctl で fdfs_storaged を有効にする
-
- または:
-
- # vim /etc/rc.d/rc.local
-
- 設定を追加します:
-
- /etc/init.d/fdfs_storaged 開始
3.2.4 ストレージディレクトリ ストレージが正常に起動すると、ストレージ サーバーの情報を記録するために、base_path の下にデータ ディレクトリとログ ディレクトリが作成されます。 store_path0 ディレクトリの下に、N*N 個のサブディレクトリが作成されます。 - [root@s168 データ]# pwd
-
- /fastdfs/ストレージ/データ
-
- [root@s168 データ]# ls
-
- 00 07 0E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69 70 77 7E 85 8C 93 9A A1 A8 AF B6 BD C4 CB D2 D9 E0 E7 EE F5 FC
-
- 01 08 0F 16 1D 24 2B 32 39 40 47 4E 55 5C 63 6A 71 78 7F 86 8D 94 9B A2 A9 B0 B7 BE C5 CC D3 DA E1 E8 EF F6 FD
-
- 02 09 10 17 1E 25 2C 33 3A 41 48 4F 56 5D 64 6B 72 79 80 87 8E 95 9C A3 AA B1 B8 BF C6 CD D4 DB E2 E9 F0 F7 fdfs_storated.pid
-
- 03 0A 11 18 1F 26 2D 34 3B 42 49 50 57 5E 65 6C 73 7A 81 88 8F 96 9D A4 AB B2 B9 C0 C7 CE D5 DC E3 EA F1 F8 FE
-
- 04 0B 12 19 20 27 2E 35 3C 43 4A 51 58 5F 66 6D 74 7B 82 89 90 97 9E A5 AC B3 BA C1 C8 CF D6 DD E4 EB F2 F9 FF
-
- 05 0C 13 1A 21 28 2F 36 3D 44 4B 52 59 60 67 6E 75 7C 83 8A 91 98 9F A6 AD B4 BB C2 C9 D0 D7 DE E5 EC F3 FA storage_stat.dat
-
- 06 0D 14 1B 22 29 30 37 3E 45 4C 53 5A 61 68 6F 76 7D 84 8B 92 99 A0 A7 AE B5 BC C3 CA D1 D8 DF E6 ED F4 FB同期
3.3.クライアントを構成する - vimクライアント.conf
-
- tracker_server=192.168.27.168:22122 #トラッカーノード
-
- base_path=/fastdfs/client #ログパス
3.4.ローカル画像アップロードテスト - [root@s168 fdfs]#fdfs_upload_file/etc/fdfs/client.conf/home/test.png
- ファントj/M00/00/00/wKgbqFu7T7iAJh7lAABDYbhAMC4812.png
- または:
- [root@s168 fdfs]#fdfs_test/etc/fdfs/client.conf/home/test.png
-
- ThisisFastDFSクライアントテストプログラムv5.05
- Copyright(C)2008,HappyFish/YuQing
- FastDFSはGNUGeneralの条件に従ってのみコピーできます
-
- PublicLicenseV3 は、FastDFSsource キットに含まれています。
-
- FastDFSホームページhttp://www.csource.org/をご覧ください。
-
- 詳細についてはこちらをご覧ください。
-
- [2018-5-0820:41:15]DEBUG-base_path=/fastdfs/client、connect_timeout=30、network_timeout=60、tracker_server_count=1、anti_steal_token=0、anti_steal_secret_key length=0、use_connection_pool=0、g_connection_pool_max_idle_time=3600s、use_storage_id=0、ストレージ サーバー ID数:0
- 無効な操作:/home/test.png
4. nginxをインストールする nginx のインストールについては以前に記事を書いたので、ここでは繰り返しません。まだインストールしていない場合は、以下をクリックしてください: クリックして私の記事をご覧ください: nginx のインストール 5. FastDFS 構成 Nginx モジュール fastdfs-nginx-module は、ファイル リンクをソース サーバーにリダイレクトしてファイルを取得し、クライアントのレプリケーション遅延によって発生するファイル アクセス不能エラーを回避できます。 5.1 ダウンロードとインストール - https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip を取得します。
-
- unzip5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
-
- mv fastdfs-nginx-モジュール-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1/fastdfs-nginx-モジュール
5.2 Nginxの設定 - ngix -s 停止
-
- nginx-1.12.1をインストールします
-
- #モジュールを追加
-
- ./configure
-
- (yum で nginx をインストールした場合、まだ解決策は見つかっていません。現在の方法は、nginx-V で nginx のバージョンを確認し、同じバージョンの nginx をダウンロードすることです。
-
- その後、/etc/nginx の下にあるデータ全体をバックアップし、make&make install が完了した後に復元します)
-
- #再コンパイルしてインストール
-
- 作る
-
- インストールする
-
- #設定ファイルをコピーする
-
- [root@s168 src]#pwd
-
- /home/fantj/download/fastdfs-nginx-module/src
-
- [root@s168 src]#cp mod_fastdfs.conf/etc/fdfs/
/etc/fdfs/mod_fastdfs.conf ファイルを設定する - #/etc/fdfs/mod_fastdfs.conf ファイルを設定する
-
- base_path=/fastdfs/tmp #ログディレクトリ
-
- store_path0=/fastdfs/ストレージ
-
- トラッカーサーバー=192.168.27.168:22122
-
- #グループ 名前 ローカルストレージサーバーの
-
- group_name=fantj #ストレージグループ名と1対1に対応
-
- url_have_group_name= true # URL で group_name を有効にする
nginxの設定 - # nginx を設定する
-
- [root@s168 fdfs]#cd/usr/ローカル/nginx/conf/
-
- [root@s168 conf]#vim nginx.conf
-
- #次の設定を追加します
-
- サーバ{
-
- 聞く88;
-
- サーバー名192.168.27.168;
-
- 場所/ファントJ/M00{
-
- ngx_fastdfs_モジュール;
-
- }
-
- }
-
-
- # 設定検出を実行するには、/usr/ local /nginx/sbin ディレクトリに入ります
-
- [root@s168 sbin]#./nginx -t
-
- ngx_http_fastdfs_set pid=6431
-
- nginx:設定ファイル/usr/ local /nginx/conf/nginx.conf 構文isok
-
- nginx:設定ファイル/usr/ local /nginx/conf/nginx.conf テストは成功しました
-
- # nginxを起動する
-
- [root@s168 sbin]#./nginx
-
- ngx_http_fastdfs_set pid=6436
サービスを再起動してテストする - [root@s168 fdfs]#fdfs_trackerd tracker.conf を再起動
-
- waitforpid[1202]終了...
-
- 起動...
-
- [root@s168 fdfs]#fdfs_storaged storage.conf を再起動
-
- waitforpid[1211]終了...
-
- 起動...
-
- [root@s168 fdfs]#/usr/ローカル/nginx/sbin/nginx-s をリロード
-
- ngx_http_fastdfs_set pid=6463
6. 構成成功テスト |