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はフィールドからカンマ区切りの値を取り出して新しいフィールドを形成します
最近、あるプロジェクトを手伝ったのですが、MySQL マシンがしばらくすると自動的に停止し続けました...
vue-cli で構築されたプロジェクト スキャフォールディングでは、すでに autoprefix...
序文この記事では、uniapp グローバル変数の実装方法をいくつかまとめています。詳細な知識は、uV...
最近はWeb2.0という言葉をよく耳にしますが、Web2.0とは何でしょうか? Web 1.0 とど...
インストール必要な書類は下部に記載されていますステップ1 mysql-installer-web-c...
毎日サービスをチェックしているときに、portainer からコンテナ ログを確認しようとしたところ...
<marquee> タグはペアで表示されるタグです。最初のタグ <marquee...
環境システム: Ubuntu 18.04ソフトウェア: qt5.12.8 1. インストールパッケー...
ページ内にはjs、cssなどの外部ファイルが導入されており、外部ファイルのエンコードが現在のページフ...
目次1. フロントエンドルーティングの実装原則2. vue-Routerの基本的な使い方2.1. イ...
MySQL は人気のオープンソースデータベース管理システムとして多くのユーザーが利用しています。デー...
私のシステムとソフトウェアのバージョンは次のとおりです。システム環境: win7、64ビットMySQ...
この記事では、年、月、日の3段階のリンクを実現するためのJavaScriptの具体的なコードを参考ま...
体の部位: <button>ライトのオン/オフを切り替える</button>...
1. まず、Linux システムのバージョン内容について概要を説明します。 1. カーネルバージョン...