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 をインストールするチュートリアル (画像とテキスト付き)

推薦する

alpineをベースにdockerfileで作成したクローラーScrapyイメージの実装

1.アルパインイメージをダウンロードする [root@DockerBrian ~]# docker ...

Centos8 は kdc 暗号化に基づいて nfs を構築します

目次構成nfs サーバー (nfs.skills.com) nfs クライアント (client.s...

Linux C バックグラウンドサービスプログラムの単一プロセス制御の実装

導入通常、バックグラウンド サーバー プログラムには 1 つのプロセスのみが必要ですが、単一のプロセ...

Dockerイメージの作成Dockerfileとコミット操作

イメージを構築するイメージを構築するには、主に 2 つの方法があります。実行中のコンテナをイメージに...

Vueは移動可能なフローティングボタンを実装します

この記事の例では、どこにでも移動できるフローティングボタンを実現するためのVueの具体的なコードを共...

MySql の忘れたパスワードの変更方法はバージョン 5.7 以上に適しています

1. まずmysqld.exeプロセスを停止します2. cmd を開き、mysql の bin ディ...

NodeJSとブラウザにおけるこのキーワードの違い

序文JavaScript を学習した人なら誰でも、さまざまな環境で this がどこを指すかという問...

MySQLがサブクエリと結合の使用を推奨しない理由

ページ分割されたクエリを実行するには: 1. MySQL の場合、サブクエリと結合の使用は推奨されま...

MySQLに絵文字表現を保存する詳細な手順

原因: java.sql.SQLException: 列の文字列値が正しくありません: '\...

Docker イメージのインポートとエクスポートのコード例

Dockerイメージのインポートとエクスポートこの記事では、移行、バックアップ、アップグレードなどの...

HTML入力ボックスの最適化により、ユーザーエクスペリエンスと使いやすさが向上します。

ユーザーエクスペリエンスと使いやすさを向上させるために、入力ボックスなど、Web ページでユーザーが...

Dockerとイメージの操作方法

ミラーを探すDocker Hubのウェブサイトからイメージを検索できます。Docker Hubのウェ...

MySQL インデックスのカーディナリティの概念と使用例

この記事では、例を使用して、MySQL インデックス カーディナリティの概念と使用方法を説明します。...

Nginx サーバーで URL リンクを設定する方法

LNMPのようなアーキテクチャを持つウェブサイトは、一般的にPHPフレームワークに基づいて開発されて...

Vueページの画像が表示されない問題の解決方法

新しいバージョンの設定インターフェースを作る際に、vueフレームワークを使用して実装しました。ページ...