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はフィールドからカンマ区切りの値を取り出して新しいフィールドを形成します
コードをコピーコードは次のとおりです。 <html> <ヘッド> <t...
カテゴリ選択を選択します。テストの結果、IE と FF はこの要素を適切にサポートできることがわかり...
この記事ではMySQL 5.7.20のインストールと設定方法を記録し、皆さんと共有します1. MyS...
勉強中に読んだ本についてもよく聞かれます。以下は初心者におすすめの本です(私が勉強中に読んだ本です。...
目次1. 日付2. 正規表現3. オリジナルパッケージタイプ序文:参照値(オブジェクト)は、 Dat...
トムキャット公式サイトtomcatはローカルサーバーと同等であり、Webページを開くことができます設...
展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...
目次1. 基本2. ノード、ツリー、仮想DOM 1. 仮想DOM 3. createElementパ...
仮想化1. 環境セントオス7.3 selinuxとファイアウォールを無効にする2. 仮想化環境の構成...
この記事では、例を使用して MySQL のロック メカニズムと使用方法を説明します。ご参考までに、詳...
1. ダウンロード: http://www.oracle.com/technetwork/java/...
目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...
<div align="center"> <table sty...
1. 基本仕様(1)InnoDBストレージエンジンを使用する必要があります。解釈:トランザクション、...
Cockpit は、CentOS および RHEL システムで使用できる Web ベースのサーバー管...