Nginx+FastDFSでイメージサーバーを構築

Nginx+FastDFSでイメージサーバーを構築

設置環境

セントス

環境依存性:

yum -y gccをインストールします
yum インストール -y pcre pcre-devel
yum インストール -y zlib zlib-devel
yum インストール -y openssl openssl-devel
# makeがない場合は、makeをインストールする必要があります
yum インストール -y メイク

インストールと設定のプロセス

1. fastdfs ディレクトリを作成します。

mkdir -p /fastdfs/トラッカー
mkdir -p /fastdfs/ストレージ
mkdir -p /fastdfs/logs

1. libfastcomman(基本環境)をダウンロードしてインストールする

https://github.com/happyfish100/libfastcommon/archive/V1.0.7.ta​​r.gz を取得します。
tar -zxvf V1.0.7.ta​​r.gz
libfastcommon-1.0.7 をインストールします
./make.sh && ./make.sh インストール
# FastDFS の lib 構成ファイル パスの問題を解決するには、ファイルをコピーします。
cp /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
cp /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

2. FastDFS をダウンロードしてインストールします。インストールが完了すると、デフォルトの設定ファイル ディレクトリは/etc/fdfs/になり、デフォルトのコマンドは/usr/bin/に配置され、 fdfs_で始まります。

https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz をダウンロードしてください
tar -zxvf V5.05.tar.gz
cd fastdfs-5.05/
./make.sh && ./make.sh インストール

3. トラッカーを設定する

# 設定ファイルを /etc/fdfs ディレクトリにコピーします cd .../fastdfs-5.05/conf
cp * /etc/fdfs/
sudo vim トラッカー.conf

bath_path を変更し、次のように設定します。

ベースパス=/fastdfs/トラッカー

トラッカーを起動します:

fdfs_trackerd /etc/fdfs/tracker.conf 開始

4. ストレージを構成する

vim ストレージ.conf

構成項目を変更し、次のように構成します。

#ログディレクトリ base_path=/fastdfs/storage  
#ストレージディレクトリ store_path0=/fastdfs/storage   
#トラッカーノード tracker_server=192.168.1.4:22122

ストレージを開始します:

fdfs_storaged /etc/fdfs/storage.conf 開始

5. クライアントを構成する

vimクライアント.conf

設定項目は次のとおりです。

#トラッカーノード tracker_server=192.168.1.4:22122
#ログパス base_path=/fastdfs/logs

6. nginx と fastdfs-nginx-module をインストールします。 fastdfs-nginx-module モジュールをインストールするときに再度コンパイルする必要があり、非常に面倒であるため、yum または apt を使用して nginx を直接インストールすることは推奨されません。

# fastdfs-nginx-module モジュールをダウンロードします cd /fastdfs
https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip を取得します。
5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip を解凍します
mv fastdfs-nginx-モジュール-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 fastdfs-nginx-モジュール
# nginxをダウンロード
http://nginx.org/download/nginx-1.12.1.tar.gz をダウンロードしてください
tar -zxvf nginx-1.12.1.tar.gz
# nginxとfsatdfs-nginx-moduleをインストールします
nginx-1.12.1をインストールします
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/fastdfs/fastdfs-nginx-module/src
作る
インストールする

7. mod_fastdfs.confファイルを設定する

cd /fastdfs/fastdfs-nginx-module/src
mod_fastdfs.confを/etc/fdfs/にコピーします。
vim /etc/fdfs/mod_fastdfs.conf

設定項目は次のとおりです。

connect_timeout=10 # クライアントアクセスファイル接続タイムアウト(単位:秒)
base_path=/fastdfs/tmp # ストレージ ログ パス tracker_server=192.168.1.4:22122 # トラッカー サービスの IP とポート url_have_group_name=true # アクセス リンク プレフィックスとグループ名 group_name=group1 # ストレージ グループ名と 1 対 1 に対応 store_path0=/fastdfs/storage # ファイル ストレージ パス

8. nginxを設定する

/opt/nginx/conf/ をコピーします。
vim nginx.conf

設定項目は以下のとおりで、group1 から始まるリソースにアクセスすると、fastdfs-nginx-module に渡されて処理されます。

# グループ0からグループ9までのドメインをリッスンし、処理のためにfastdfs-nginx-moduleモジュールに渡します。場所 ~/group([0-9])/ {
ngx_fastdfs_モジュール;
}

テスト

1. 写真をアップロードする

fdfs_upload_file /etc/fdfs/client.conf ~/Desktop/test.png

この時点で文字列が返されます。

2. テストにアクセスし、ブラウザに次のように入力します。

192.168.1.4/group1/M00/00/00/wKgBBF6Cu4GATwTvABy5G9p0iEE119.jpg

アクセス成功!

Nginx+FastDFS でイメージサーバーを構築する方法についての記事はこれで終わりです。Nginx+FastDFS でイメージサーバーを構築する方法についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Centos7 構成 fastdfs および nginx 分散ファイル ストレージ システムの実装プロセス分析
  • Nginx リバース プロキシを使用して go-fastdfs を実行する例
  • SpringBootはFastDFS+Nginxを統合し、トークンベースのアンチホットリンク方式を統合します
  • FastDFS をインストールして設定し、Nginx-1.13.3 と統合する方法
  • Fastdfs と nginx の圧縮イメージ比率
  • nginx FastDFS 分散ストレージモジュールのテスト方法
  • コード分​​析を実現するためのFastDFSとNginxの統合

<<:  Vueカスタムツリーコントロールの使い方の詳細な説明

>>:  Windows で mysql-8.0.18-winx64 をインストールするチュートリアル (画像とテキスト付き)

推薦する

ReactRouterの実装

ReactRouterの実装ReactRouterはReactのコアコンポーネントです。主にReac...

Nginx の純粋な構成でリアルタイム ログ レポートを実現するためのアイデアと方法

目次序文実装のアイデア実装手順1. Nginxをコンパイルする2. 設定ファイルは以下のとおりです要...

MySQL のテーブル内のレコード数を制限する方法

目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...

docker と docker-compose による eureka の高可用性の実現の詳細な説明

最近、新しいプロジェクトでは springcloud と docker が使用されています。この 2...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

vue3ソースコード解析の簡単な実装方法

目次序文🍹準備🍲vue3 の使い方🍖 実装要約する序文最近、私の最初の公式 vue3 + ts プロ...

Ubuntu 18でターミナルを美しいコマンドラインプロンプトに変更する方法

VMware と Ubuntu を再インストールしましたが、コマンドラインプロンプトが単調すぎて美し...

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...

Oracle VM VirtualBox の CentOS7 オペレーティング システムのインストール チュートリアル図

目次インストール手順環境設定実行構成インストール手順ダウンロードアドレス: バージョン6.0 最初に...

CSS を使用して画像の下の空白を数ピクセル消去する方法の詳細な説明

最近、友人が私に質問をしました。ページをレイアウトすると、画像の下に 1 ~ 2 ピクセルの空白があ...

Nest.js パラメータ検証とカスタム戻りデータ形式の詳細な説明

0x0 パラメータ検証Nest.jsでは、パラメータ検証業務のほとんどをパイプライン方式で実装してい...

CSS フレックスベースのテキストオーバーフロー問題の解決方法

重要でないflex-basisテキストオーバーフローに省略記号を追加するという小さな機能に多くの問題...

MySQL ストアド プロシージャで if ステートメントを使用する詳細な例

この記事では、例を使用して、MySQL ストアド プロシージャでの if ステートメントの使用方法を...

共通要素のデフォルトのマージンとパディング値に関する議論

今日は、さまざまなブラウザでのデフォルト要素のマージン値が何であるかという問題について説明しました。...

プロジェクトのフロントエンドとバックエンドでの Echart チャートの使用に関する詳細な説明

目次序文1. プロジェクトアーキテクチャ2. Echart公式サイトにアクセスして自己分析を学ぶ2....