検索
ホームページバックエンド開発PHPチュートリアルFastDFS+Nginx 軽量分散ファイル システムのインストールと使用

1 はじめに

FastDFSは、ファイルストレージ、ファイル同期、ファイルアクセス(ファイルアップロード、ファイルダウンロード)などを管理するオープンソースの軽量分散ファイルシステムです。 .、大容量ストレージと負荷分散の問題を解決します。特に、フォト アルバム Web サイトやビデオ Web サイトなど、ファイルに基づくオンライン サービスに適しています。 FastDFS

サーバーには、トラッカー (

tracker) とストレージノード (ストレージ) の 2 つの役割があります。トラッカーは主にスケジュール作業を実行し、アクセス時の負荷分散の役割を果たします。 2 番目のインストール

1,

このインストールでは 3 つの centos5.10 linux オペレーティング システム 192.168.80.100 トラッカー Nginx (注)このマシンには

fastsfd-niginx がインストールされていないこと

プラグイン)192.168.80.101 storage nginx

192.168.80.102 storage nginx

ここでは、オペレーティング システムのインストールについては説明しません。

2、

コンパイル環境を準備します

yum -y install gcc gcc+ gcc-c++ openssl openssl-devel pcre pcre-devel 3 台のマシンをすべてインストールし、2 つの新しいユーザーを作成しますfastdfs nginx useradd fastdfs -M -s /sbin/nologin

useradd nginx -M -s /sbin/nologin テストの便宜上、をオフにするファイアウォール

サービスIPTABLES stop 3、ソースコードをダウンロード

タイプ

CD/USR/ローカル/src/

http:// /jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.01/FastDFS_v5.01.tar

.ダウンロードnginx 1.7.0

wgethttp://nginx.org/download/nginx-1.7.0.tar.gz

ダウンロード dfs-nginx -module_v1.16

wget

http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

4. FastDFS

をインストールします (3 台のマシンすべてにインストールする必要があります)

tar

5、解凍

fastDFS-nginx-module

[root@localhost ~ ]# cd /usr/local/src/

[root@localhost src]# tar xf fastdfs-nginx -module_v1.1

6.tar.gz

6, インストールNginx

192.168.80.100 tarckerマシンのインストール

[root@localhost ~] # cd /usr/local /src/

[root@localhost src]# tar [root@localhost nginx-] 1.7.0]# ./configure --user=

nginx --group=nginx

--prefix=/usr/local/nginx

[root@localhost nginx-] 1.7.0

]# make[root@localhost nginx-1.7.0

]# make install192.168.8 0.101,102 ストレージ nginx のインストール

[root@localhost ~]# cd /usr/local/src/[root@localhost src]# tar xf nginx-1.7.0.tar.gz [root@localhost src]# cd nginx -

1.7.0[root@localhost nginx-1.7.0

]# ./configure --user=nginx --group =nginx

--prefix= /usr/local/nginx

--add-module=../fastdfs-nginx-module/src //

storage nginxをインストールするとき、このモジュールをロードする必要があります

[root@localhost nginx-1.7.0]# make

[root@localhost nginx-1.7.0]# make install 3 つの構成

192.168.80.100 トラッカー構成

1、trackerデータとログ保存ディレクトリを作成

[root@localhost ~]# mkdir -p /data/fastdfs/tracker

2 、変更 FastDFStracker.conf 設定ファイル

[root@localhost ~]#vim /etc/fdfs/tracker.conf

base_path=/data/fastdfs/tracker

max_c /span> kWork_thReads = 8

Store_Lookup = 0

Store_path = 0

ReserVED_SPACE_SPACE = 4g

//Run_by_group = Fastdfs run_BY_USTER = FASTDFS

rotate_error_log=true

構成分析については、私の記事

tracker

構成ファイル分析

3を参照してください。3、Nginxの構成ファイルを変更します

[root@localhost ~]# vim /usr/local/nginx/ conf/nginx.confuser

nginx

nginx;//すでに確立されているユーザーとグループは次のとおりです worker_processes 3 ;

pid /usr/local/nginx/logs/nginx.pid;worker_rlimit_nofile

1024;

events {epoll を使用する;

// epoll

は世論調査です

Linuxkernel ファイル記述子の大きなバッチを処理するために改善されましたworker_connections 1024 ;

} http {

mime.typesを含める;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$re Quest" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /usr/local/nginx/logs/access.log main;

アップストリームserver_g1 {

server

80.101

:

80

; //ここで設定されるのはストレージのIPです複数のユニットで設定可能です server 192.168.80 .

102

: 80;}server {

listen 80;

server_name localhost;

location /g1 {

proxy _リダイレクトオフ

proxy_set_header ホスト $host ;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header

proxy_pass http://server_g1;

}

}

}

4、tracker

service

管理に引き渡し、スタートアップを設定します

[root@localhost ~]# cp / usr/local/ src/FastDFS/init.d/fdfs_trackerd /etc/init.d/ [root@localhost ~]# chkconfig --add fdfs_trackerd

[root@localhost ~]# chkconfig fdfs_trackerd on

ストレージを構成する (構成

192.168.80.101,102 にいます

それぞれ)

1、データストレージディレクトリを作成します[root@localhost ~]# mkdir -p /data /fastdfs /storage/data

2、 FastDFS

のstorage.conf

設定ファイル[root@localhost ~]# vim /etc/fdfs/storage.conf

group_name=g1base_path=/data/fastdfs

##ワーカー スレッドの数。通常は CPU

number

work_threads=8

store_ path_count=1

store_path0=/data/fastdfs/storage のアドレス

##tracker_server=192.168.

80.100

:22122

##Run FastDFS

のユーザー グループ

run_by_group =fastdfs

##ユーザーは FastDFS を実行しています

run_by_user=fastdfs

file_distribute_path_mode=1

rotate_error_log=true

3. nginxモジュールの設定ファイルを/etc/fdfsにコピーし、変更します

[root@localhost ~]# cp /usr/local/src/fastdfs-nginx-module /src/mod_fastdfs.conf/etc/fdfs/

[root@localhost〜] :22122

group_name=g1

url_have_group_name = true

store_path_count=1

store_path0=/data/fastdfs/storage

4、変更された

nginx設定ファイル

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

user nginx

nginx

;

worker_processes 8; pid /usr/local/nginx/logs/nginx.pid;

worker_rlimit_nofile

1024

;

events {

epoll を使用する ;

worker_connections

1024

;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - mote_user [$time_local] " $request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log /usr/local/nginx/logs/access.log main;

server {

listen 80;

server_name localhost;

location /g1/M00{

root /data/fastdfs/stor age/data;

ngx_fastdfs_module;

}

}

}

5、

ストレージを引き渡します

[root@localhost ~]# cp /usr/local/ src /FastDFS/init.d/fdfs_storaging /etc/init.d/

[root@localhost ~]# chkconfig --add fdfs_storagged

[root@localhost ~]# chkconfig fdfs_storaging on

[ root@localhost ~]# service fdfs_storagged start

service のスタートアップを管理および設定する

// ソフト接続を作成する

[root@localhost ~]# ln -s /data/fastdfs/ storage/ data /data/fastdfs/storage/data/M00

4 つのテスト

1、

192.168.80.100 で tracker

nginx

を開始

[root@ localhost ~]# service fdfs_trackerd start[root@localhost ~]# /usr/local/nginx/sbin/nginx2、

192.168.80.101,102

でそれぞれstorage

ngを開始しますinx

[root@localhost ~]# service fdfs_storagged start[root@localhost ~]# /usr/local/nginx/sbin/nginx3

tracker で

クライアント を設定する

[root@localhost ~]# vim /etc/fdfs/client.conf

base_path=/data/fastdfstracker_server=192.168.80.100:22122

に移動します。 4、クラスターの詳細を表示

[root@localhost ~]# fdfs_monitor /etc/fdfs/client.conf

5、テストアップロード

root@localhost ~]# fdfs_upload_file /etc/fdfs / client.conf aa.jpg

g1/M00/AC/2F/wKgKDVMppoGAMCFNAAIFvJcyojY165.jpg

ブラウザ経由

http://192.168.

80.101

/g1/M00/AC/2F/wKgKDVMppoGAMCFNAAIFvJcyojY165.jpg

http://192.168.80.102

/g1/M00/AC/2F/wKgKDVMppoGAMCFNAAIFvJ 65.jpg 上記は、FastDFS+Nginx 軽量分散ファイル システムのインストールと使用方法を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
誇大広告を超えて:今日のPHPの役割の評価誇大広告を超えて:今日のPHPの役割の評価Apr 12, 2025 am 12:17 AM

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPの弱い参照は何ですか、そしていつ有用ですか?PHPの弱い参照は何ですか、そしていつ有用ですか?Apr 12, 2025 am 12:13 AM

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

PHPで__invoke Magicメソッドを説明してください。PHPで__invoke Magicメソッドを説明してください。Apr 12, 2025 am 12:07 AM

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

同時性については、PHP 8.1の繊維を説明します。同時性については、PHP 8.1の繊維を説明します。Apr 12, 2025 am 12:05 AM

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティ:リソース、サポート、開発PHPコミュニティ:リソース、サポート、開発Apr 12, 2025 am 12:04 AM

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP対Python:違いを理解しますPHP対Python:違いを理解しますApr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHP:それは死にかけていますか、それとも単に適応していますか?PHP:それは死にかけていますか、それとも単に適応していますか?Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの未来:適応と革新PHPの未来:適応と革新Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター