1. fastdfs の紹介 1. fastdfsとは何か
2.fastdfsフレームワーク図 著者(YuQing)はフレームワーク図を次のように示しています。 で: トラッカー サーバー:トラッキング サーバーは主にスケジューリング作業を実行し、アクセスの負荷分散の役割を果たします。ストレージ サーバーのステータスを記録し、クライアントとストレージ サーバーを接続するハブとして機能します。 3. ファイルのアップロードプロセス (1)クライアントは追加のパラメータなしでトラッカーにアップロード先のストレージを要求します。 4. ファイルのダウンロードプロセス (1)クライアントはトラッカーにダウンロードしたファイルの保存を要求し、パラメータはファイル識別子(グループ名とファイル名)である。 5. 同期メカニズム (1)同一グループ内のストレージサーバはピアであり、ファイルのアップロード、削除等の操作はどのストレージサーバでも実行できる。 6. トラッカーサーバーのディレクトリ構造 (1)データ storage_groups.dat: ストレージグループ情報 storage_servers.dat: ストレージ サーバー リスト (2)ログ trackerd.log: トラッカーサーバーのログファイル 7. ストレージサーバーのディレクトリ構造 1) データ .data_init_flag: 現在のストレージ サーバーの初期化情報 storage_stat.dat: 現在のストレージ サーバーの統計 同期: データ同期に関連するファイルを保存します binlog.index: 現在の binlog ファイルのインデックス番号 binlog.###: 更新操作の記録(ログ)を保存します ${ip_addr}_${port}.mark: 同期の完了ステータスを保存します (2)ログ storaged.log: ストレージ サーバーのログ ファイル 上記の理論的参照: ChinaUnix フォーラム: http://bbs.chinaunix.net/forum-240-1.html GitHub ダウンロードアドレス: https://github.com/happyfish100 2. fastdfsのインストールとテスト 1. ダウンロード ダウンロードが必要: libfastcommon fastdfs (2.0 より前のバージョンでは libevent に依存する必要があります) 2. インストール (1)libfastcommonをインストールする $ tar xzvf libfastcommon-1.0.38.tar.gz $ cd libfastcommon-1.0.38 ビルド $ sudo ./make.sh インストール (2)fastdfsをインストールする $ tar xzvf fastdfs-5.11.tar.gz $ cd fastdfs-5.11 ビルド $ sudo ./make.sh インストール 3. 構成 クラスタ構築トポロジ図(ハードディスク不足のため、192.168.31.4 と 192.168.31.14 は現在利用できません。容量拡張後に追加されます) (1)トラッカーの設定(192.168.31.95/192.168.31.99) $cd /etc/fdfs/ ディレクトリファイルは次のとおりです。 次に、次のように実行します。 $ sudo su #cp トラッカー.conf.サンプル トラッカー.conf tracker.conf ファイルを設定します。 vim トラッカー.conf 変更: base_path=/home/fastdfs/tracker (注: このディレクトリは開始前に存在している必要があります。存在しない場合はエラーが報告され、パスが見つからないため、新しいトラッカー ディレクトリを手動で作成する必要があります) 起動する: /etc/init.d/fdfs_trackerd 開始 (2)ストレージを構成する(192.168.31.2/192.168.31.12) $ cd /etc/fdfs $ sudo su #cp ストレージ.conf.サンプルストレージ.conf 改訂: グループ名 = グループ1 (192.168.31.2) または グループ2 (192.168.31.12) ベースパス=/home/fastdfs/ストレージ store_path0=/home/fastdfs/ストレージ 変更: トラッカー サービスの IP とポート: tracker_server=192.168.31.95:22122 (注: ここで 31.2 tracker_server は 31.95 を構成し、31.12 tracker_server は 31.99 を構成します) 起動する: /etc/init.d/fdfs_storaged 開始 fastdfsの対応する構成情報を表示します # fdfs_monitor /etc/fdfs/storage.conf 次の情報が存在する場合、成功とみなされます。 アップロードをテストし、192.168.31.99 トラッカーマシンを fdfs_client として選択します。 $ cd /etc/fdfs $ sudo su # cp client.conf.sample クライアント.conf # vim クライアント.conf 改訂: ベースパス = /home/fastdfs トラッカーサーバー=192.168.31.99:22122 net.png ファイルのアップロードをテストします。 fdfs_upload_file /etc/fdfs/client.conf net.png 3. nginxの設定 インストールする必要があるもの: fastdfs-nginx-module-1.20 プラグインに似たもの nginx-1.14.2.tar.gz nginx をインストールするには、以下をインストールする必要があります。 openssl zlib pcre astdfs-nginx-module を nginx に挿入します (configure および make&make install nginx を実行する必要があります) ./configure --add-module=../../fastdfs-nginx-module/src/ エラーが報告されます: fastdfs-nginx-module-1.20/src/config ファイルを変更する必要があります ngx_addon_name=ngx_http_fastdfs_module テスト -n "${ngx_module_link}" の場合、 ngx_module_type=HTTP ngx_module_name=$ngx_addon_name ngx_module_incs="/usr/local/include" ngx_module_libs="-lfastcommon -lfdfsclient" ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c" ngx_module_deps= CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'" .auto/モジュール それ以外 HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module" NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c" CORE_INCS="$CORE_INCS /usr/local/include" CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient" CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'" フィ 変更後: ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/" ngx_addon_name=ngx_http_fastdfs_module テスト -n "${ngx_module_link}" の場合、 ngx_module_type=HTTP ngx_module_name=$ngx_addon_name ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/" ngx_module_libs="-lfastcommon -lfdfsclient" ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c" ngx_module_deps= CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'" .auto/モジュール それ以外 HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module" NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c" CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient" CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'" フィ その後、再設定してmake && make install 次に、cp mod_fastdfs.conf /etc/fdfs/ を実行し、mod_fastdfs.conf ファイルを変更します。 $ cd fastdfs-nginx-module-1.20/src $ cp mod_fastdfs.conf /etc/fdfs/ mod_fastdfs.conf を変更する トラッカーサーバー=192.168.31.99:22122 store_path0=/home/fastdfs/ストレージ グループ名=グループ1 [グループ1] グループ名=グループ1 ストレージサーバーポート=23000 ストアパス数=1 store_path0=/home/fastdfs/ストレージ [グループ2] グループ名=グループ2 ストレージサーバーポート=23000 ストアパス数=1 store_path0=/home/fastdfs/ストレージ fastdfs-5.11/conf/ $ cp http.conf /etc/fdfs/ $ cp mime.types /etc/fdfs/ 変更: http.conf トークンチェック失敗 nginx.confを変更する /usr/local/nginx/sbin をコピーします vim ../conf/nginx.conf ポート番号8888は/etc/fdfs/storage.confのhttp.server_port=8888に対応します。 写真をアップロード http://192.168.31.12:8888/group1/M00/00/00/wKgfDFzxVTyAM4suABWWvfB6x_k962.png fastdfs+nginx クラスター構築の実装に関するこの記事はこれで終わりです。fastdfs+nginx クラスター構築の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQLを水平から垂直に、垂直から水平に変換する方法
>>: MySQLはフィールドからカンマ区切りの値を取り出して新しいフィールドを形成します
上の境界線のみを表示する <table frame=above>下の境界線のみを表示する...
リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...
目次ドラッグアンドドロップの実装ドラッグイベントドラッグして開始リリースゾーンでの移動境界処理、角度...
Linux: Linux バージョン 3.10.0-123.9.3.el7.x86_64 ngin...
ステップ1:setting.pyでデータベースを変更する # データベースを構成する DATABAS...
通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。このよう...
この記事では、Linux コマンドを使用して .sql ファイルをエクスポートおよびインポートする方...
MySQL では、同じ列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、MyS...
基本概念現在の読み取りとスナップショットの読み取りMVCC では、読み取り操作はスナップショット読み...
1. 何ですか マークアップ言語として、CSSは比較的シンプルな構文とユーザーに対する要件が低いが、...
目次まとめ環境とツールの準備サーバー仮想化のインストール VMware ESXi仮想マシンのオペレー...
操作要素の詳細については、前回の記事を参照してください。JavaScript WebAPI、DOM、...
目次1. HTMLを書く、最初のVueプログラムビューテンプレートとデータに注意してください決定ルー...
「私たちは次の一連のモバイル製品を HTML5 で作成しています。」 「ええ、最近は多くの人が Ap...
目次序文背景実施計画の考え方js ストレージ機能ソリューション設計やっと要約する序文どの SaaS ...