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

推薦する

MySQL では UTF-8 が推奨されないのはなぜですか?

最近、Rails 経由で「utf8」でエンコードされた UTF-8 文字列を MariaDB に保存...

Centos7 のインストールと Mysql5.7 の設定

ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...

コード分​​析を実現するためのFastDFSとNginxの統合

FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...

MySQL で重複レコードをクエリして削除する方法の完全なガイド

序文この記事では主に、MySQL で重複レコードをクエリして削除する方法を紹介します。参考と学習のた...

MySQL InnoDB アーキテクチャの概要

目次導入1. MySQLデータベースの全体的なアーキテクチャSQL インターフェースパーサーオプティ...

Linux ファイル管理コマンド例の分析 [表示、閲覧、統計など]

この記事では、Linux ファイル管理コマンドについて例を挙げて説明します。ご参考までに、詳細は以下...

HTML は、Web ページの作成者が学習して習得しなければならないものです。

HTML を学ぶメリットは何ですか? 1: ウェブサイトやブログのウェブ構造を簡単に変更できます。...

...

Linux ファイルシステムの説明: ext4 以降

今日は、ext3 や他の以前のファイル システムとの違いを含め、ext4 の歴史について説明します。...

Mysql クラシック高レベル/コマンドライン操作 (クイック) (推奨)

サーバーとデータベースの構築方法を学ぶ必要があるため、最近は SQL 言語を独学で学び始めました。デ...

30分でReact Hooksを包括的に理解できます

目次概要1. 使用状態1.1 3つの概念に関する質問1.2 例1.3 注記2. リデューサーを使用す...

MySQL テーブルタイプ ストレージエンジンの選択

目次1. 現在のデータベース支出のストレージエンジンを表示する方法1:方法2: 2. ENGINE=...

MySQLクエリ文の実行プロセスを理解するための記事

序文要件を満たす特定のデータをデータベースから取得する必要があります。Select ABC FROM...

Nginx 構成検出サービスのステータスを実装する方法

1. チェックステータスモジュールがインストールされているかどうかを確認します。 [root@loc...

少なくとも7日間連続して注文を行ったユーザーに対するSQLクエリ

テーブルを作成するテーブル order(id varchar(10),date datetime,o...