1.はじめに
FastDFSは、オープンソースの分散ファイルシステムであり、ファイルを管理します。機能には、ファイルストレージ、ファイル同期、ファイルアクセス(ファイルアップロード、ファイルダウンロード)などがあり、大容量ストレージと負荷分散の問題を解決します。フォトアルバムのWebサイト、ビデオのWebサイトなど、ファイルをキャリアとして使用するオンラインサービスに特に適しています。
FastDFSサーバーには、トラッカー(トラッカー)とストレージノード(ストレージ)の2つの役割があります。トラッカーは主にスケジューリング作業を行い、アクセスにおいて負荷分散の役割を果たします。
ストレージノードはファイルを保存し、ファイル管理のすべての機能(ストレージ、同期、アクセスインターフェイスの提供)を完了します。FastDFSはファイルのメタデータも管理します。ファイルのいわゆるメタデータは、ファイルの関連属性であり、width = 1024などのキーと値のペアで表されます。ここで、キーはwidthで、値は1024です。ファイルメタデータはファイル属性のリストであり、複数のキーと値のペアを含めることができます。
FastDFSシステム構造を次の図に示します。
トラッカーとストレージノードの両方を複数のサーバーで構成できます。トラッカーとストレージノードのサーバーは、オンラインサービスに影響を与えることなく、いつでも追加またはオフラインにすることができます。トラッカー内のすべてのサーバーはピアツーピアであり、サーバーの圧力に応じていつでも増減できます。
大容量をサポートするために、ストレージノード(サーバー)はボリューム(またはグループ)組織を採用します。ストレージシステムは1つ以上のボリュームで構成されています。ボリューム間のファイルは互いに独立しています。すべてのボリュームのファイル容量は、ストレージシステム全体のファイル容量です。ボリュームは、1つ以上のストレージサーバーで構成できます。ボリュームの下のストレージサーバー内のファイルは同じです。ボリューム内の複数のストレージサーバーは、冗長バックアップと負荷分散の役割を果たします。
ボリュームにサーバーが追加されると、システムは既存のファイルの同期を自動的に完了します。同期が完了すると、システムは新しく追加されたサーバーを自動的に切り替えてオンラインサービスを提供します。
ストレージスペースが不足している場合、または不足しそうな場合は、動的にボリュームを追加できます。1つ以上のサーバーを追加し、それらを新しいボリュームとして構成するだけで、ストレージシステムの容量が拡張されます。
2.アドレスをダウンロード
1.基本インストールパッケージをダウンロードします
https://gitee.com/fastdfs100/fastdfs
または:https://github.com/happyfish100/fastdfs/releases
2.ツールのダウンロードアドレスによって異なります
または:https://github.com/happyfish100
3.基本環境
1.システムの説明
システム:CentOS-7-x86_64-Minimal-1708
ダウンロードリンク:
http://archive.kernel.org/centos-vault/7.4.1708/isos/x86_64/
2.仮想マシンをインストールします(シングルノードインストールを選択しました)
仮想マシン構成:2Gメモリ、2コアCPU
インストールプロセスを参照してください。
https://blog.csdn.net/llwy1428/article/details/89328381
3.ツール:xshell5
4. VMwareバージョン:VMware Workstation Pro15
4、インストールと展開
1.基本的なツールをインストールします
[root@localhost ~]# yum install -y vim lrzsz gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel lrzsz wget net-tools tree zip unzip git
2.ファイアウォールの操作
# 停止防火服务
[root@localhost ~]# systemctl stop firewalld
# 查看防火墙的当前状态
[root@localhost ~]# systemctl status firewalld
# 开机禁止启动防火墙
[root@localhost ~]# systemctl disable firewalld
または、ファイアウォールが指定されたポートを開きます
https://blog.csdn.net/llwy1428/article/details/99676257
パート3のステップ1、2、および3を参照してください
3.ディレクトリを作成し、インストールファイルをダウンロードします
[root @ loccalhost〜] #mkdir / opt / fdfs
[root @ loccalhost〜] #cd / opt / fdfs
[root @ loccalhost fdfs] #git clone https://gitee.com/fastdfs100/libfastcommon.git
[root @ loccalhost fdfs] #git clone https://gitee.com/fastdfs100/fastdfs-client-java.git
[root @ loccalhost fdfs] #git clone https://gitee.com/fastdfs100/fastdfs.git
4.ディレクトリを切り替え、libfastcommonをコンパイルしてインストールします
[root @ loccalhost〜] #cd / opt / fdfs / libfastcommon /
[root @ loccalhost libfastcommon]#。/ make.sh
[root @ loccalhost libfastcommon]#。/ make.shインストール
見る
[root @ loccalhost〜] #ls /usr/lib64/libfastcommon.so
/ usr / lib64の下のライブラリファイルを/ usr / libにコピーします
(注:この時点で、最初に/ usr / libの下にlibfastcommon.soファイルがあるかどうかを確認します。既に存在する場合は、コピーする必要はありません)
[root @ loccalhost〜] #cp /usr/lib64/libfastcommon.so / usr / lib
5.fastdfsをコンパイルしてインストールするようにtrackeredを構成します
ディレクトリを切り替える
[root @ loccalhost〜] #cd / opt / fdfs / fastdfs
カタログを見る
[root@localhost fastdfs]# ll
总用量 132
drwxr-xr-x 3 root root 4096 10月 24 21:20 client
drwxr-xr-x 2 root root 189 10月 24 21:20 common
drwxr-xr-x 2 root root 146 10月 24 21:20 conf
-rw-r--r-- 1 root root 35067 10月 24 21:20 COPYING-3_0.txt
drwxr-xr-x 4 root root 56 10月 24 21:20 docker
-rw-r--r-- 1 root root 3170 10月 24 21:20 fastdfs.spec
-rw-r--r-- 1 root root 37049 10月 24 21:20 HISTORY
drwxr-xr-x 2 root root 27 10月 24 21:20 images
drwxr-xr-x 2 root root 48 10月 24 21:20 init.d
-rw-r--r-- 1 root root 8344 10月 24 21:20 INSTALL
-rwxr-xr-x 1 root root 5517 10月 24 21:20 make.sh
drwxr-xr-x 2 root root 320 10月 24 21:20 php_client
-rw-r--r-- 1 root root 2448 10月 24 21:20 README.md
-rw-r--r-- 1 root root 1700 10月 24 21:20 README_zh.md
-rwxr-xr-x 1 root root 1768 10月 24 21:20 restart.sh
-rwxr-xr-x 1 root root 763 10月 24 21:20 setup.sh
-rwxr-xr-x 1 root root 1680 10月 24 21:20 stop.sh
drwxr-xr-x 4 root root 4096 10月 24 21:20 storage
drwxr-xr-x 2 root root 317 10月 24 21:20 test
drwxr-xr-x 2 root root 4096 10月 24 21:20 tracker
[root @ loccalhost fastdfs]#。/ make.sh && ./make.sh install
構成
/ opt / fdfs / fastdfs / confの下のファイルを/ etc / fdfs /にコピーします
[root @ loccalhost〜] #cp / opt / fdfs / fastdfs / conf / * / etc / fdfs /
ディレクトリを切り替える
[root @ loccalhost〜] #cd / etc / fdfs /
カタログを見る
[root@localhost fdfs]# ll
总用量 124
-rw-r--r-- 1 root root 23981 10月 24 22:08 anti-steal.jpg
-rw-r--r-- 1 root root 1909 10月 24 22:08 client.conf
-rw-r--r-- 1 root root 1909 10月 24 22:06 client.conf.sample
-rw-r--r-- 1 root root 965 10月 24 22:08 http.conf
-rw-r--r-- 1 root root 31172 10月 24 22:08 mime.types
-rw-r--r-- 1 root root 10246 10月 24 22:08 storage.conf
-rw-r--r-- 1 root root 10246 10月 24 22:06 storage.conf.sample
-rw-r--r-- 1 root root 620 10月 24 22:08 storage_ids.conf
-rw-r--r-- 1 root root 620 10月 24 22:06 storage_ids.conf.sample
-rw-r--r-- 1 root root 9138 10月 24 22:08 tracker.conf
-rw-r--r-- 1 root root 9138 10月 24 22:06 tracker.conf.sample
ディレクトリを作成する
[root @ loccalhost〜] #mkdir / home / fdfs_storage / home / fastdfs
構成ファイルの編集
[root @ loccalhost〜] #vim /etc/fdfs/tracker.conf
disabled = false
port = 22122
base_path = /home/fastdfs
allow_hosts = *
http.server_port = 80
トラッカーを開始
[root @ loccalhost〜]#/ usr / bin / fdfs_trackerd /etc/fdfs/tracker.conf start
(その他:トラッカーを再起動します[root @ loccalhost〜]#/ usr / bin / fdfs_trackerd /etc/fdfs/tracker.conf restart
ノーストラッカー[root @ loccalhost〜]#/ usr / bin / fdfs_trackerd /etc/fdfs/tracker.conf stop)
起動ステータスを表示する
[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 2617/fdfs_trackerd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 875/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1305/master
tcp6 0 0 :::22 :::* LISTEN 875/sshd
tcp6 0 0 ::1:25
6.ストレージを構成します
[root @ localhost〜] #vim /etc/fdfs/storage.conf
group_name = group1
client_bind = true
port = 23000
base_path = /home/fastdfs
store_path0 = /home/fdfs_storage
tracker_server = 192.168.11.11:22122
#tracker_server = *.*.*.*:22122
allow_hosts = *
注:192.168.11.11は私の仮想マシンのIPです
ストレージを開始します
[root @ localhost〜]#/ usr / bin / fdfs_storaged /etc/fdfs/storage.conf start
(その他:ストレージの再起動[root @ localhost〜]#/ usr / bin / fdfs_storaged /etc/fdfs/storage.conf restart
核ストレージ[root @ localhost〜]#/ usr / bin / fdfs_storaged /etc/fdfs/storage.conf start)
7.起動状態を確認します
[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 2617/fdfs_trackerd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 875/sshd
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 2704/fdfs_storaged
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1305/master
tcp6 0 0 :::22 :::* LISTEN 875/sshd
tcp6 0 0 ::1:25
8.ストレージディレクトリを表示します
[root@localhost ~]# ls /home/fdfs_storage/data/
00 0A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96 A0 AA B4 BE C8 D2 DC E6 F0 FA
01 0B 15 1F 29 33 3D 47 51 5B 65 6F 79 83 8D 97 A1 AB B5 BF C9 D3 DD E7 F1 FB
02 0C 16 20 2A 34 3E 48 52 5C 66 70 7A 84 8E 98 A2 AC B6 C0 CA D4 DE E8 F2 FC
03 0D 17 21 2B 35 3F 49 53 5D 67 71 7B 85 8F 99 A3 AD B7 C1 CB D5 DF E9 F3 FD
04 0E 18 22 2C 36 40 4A 54 5E 68 72 7C 86 90 9A A4 AE B8 C2 CC D6 E0 EA F4 FE
05 0F 19 23 2D 37 41 4B 55 5F 69 73 7D 87 91 9B A5 AF B9 C3 CD D7 E1 EB F5 FF
06 10 1A 24 2E 38 42 4C 56 60 6A 74 7E 88 92 9C A6 B0 BA C4 CE D8 E2 EC F6
07 11 1B 25 2F 39 43 4D 57 61 6B 75 7F 89 93 9D A7 B1 BB C5 CF D9 E3 ED F7
08 12 1C 26 30 3A 44 4E 58 62 6C 76 80 8A 94 9E A8 B2 BC C6 D0 DA E4 EE F8
09 13 1D 27 31 3B 45 4F 59 63 6D 77 81 8B 95 9F A9 B3 BD C7 D1 DB E5 EF F9
第4に、FastDFS独自のツールを使用してテストします
1.構成ファイルclient.confを変更します
[root @ localhost〜] #vim /etc/fdfs/client.conf
base_path = /home/fastdfs
tracker_server = 192.168.11.11:22122
#tracker_server = *.*.*.*:22122
注:192.168.11.11は私の仮想マシンのIPです
2.システムの/ tmpの下に画像20201024223330.pngを保存しました。
コマンドを使用してファイルをアップロードする
[root @ localhost〜]#/ usr / bin / fdfs_test /etc/fdfs/client.conf upload /tmp/20201024223330.png
5、Nginxをコンパイルしてインストールします
Nginxダウンロードリンク:http://nginx.org/download/
1.ディレクトリを切り替えます
[root @ localhost opt] #cd / opt
2.nginx-1.19.3.tar.gzをダウンロードします
[root @ localhost opt] #wget http://nginx.org/download/nginx-1.19.3.tar.gz
3.解凍します
[root @ localhost opt] #tar zxvf nginx-1.19.3.tar.gz
4.ディレクトリを切り替えて、FastDfsNginx関連の構成をダウンロードします
[root @ loccalhost〜] #cd / usr / local
[root @ loccalhost local] #git clone https://gitee.com/fastdfs100/fastdfs-nginx-module.git
5.Nginxをコンパイルしてインストールします
ディレクトリを切り替える
[root @ loccalhost〜] #cd /opt/nginx-1.19.3
[root @ loccalhost nginx-1.19.3]#。/ configure --prefix = / usr / local / nginx --add-module = / usr / local / fastdfs-nginx-module / src /
[root @ loccalhost nginx-1.19.3] #make && make install
6.fastdfs-nginx-moduleインストールディレクトリのsrcディレクトリにあるmod_fastdfs.confを/ etc / fdfsディレクトリにコピーします
[root @ loccalhost〜] #cp /usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf / etc / fdfs /
7.構成ファイルmod_fastdfs.confを編集します
[root @ loccalhost〜] #vim /etc/fdfs/mod_fastdfs.conf
base_path=/home/fastdfs
tracker_server=192.168.11.11:22122
group_name=group1
store_path0=/home/fdfs_storage
url_have_group_name = true
8.Nginx構成ファイルnginx.confを編集します
[root @ localhost〜] #vim /usr/local/nginx/conf/nginx.conf
worker_processes 1;
pid /usr/local/nginx/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location /group1/M00/ {
alias /home/fdfs_storage/data/;
ngx_fastdfs_module;
}
}
}
9.Nginxサービスを開始します
[root @ localhost〜]#/ usr / local / nginx / sbin / nginx
(その他のNginx操作リファレンス
https://blog.csdn.net/llwy1428/article/details/85063944
https://blog.csdn.net/llwy1428/article/details/101013214 )
10.システムサービスの起動ステータスを表示します
6、ブラウザビュー:
上記のコマンドでアップロードされた画像を表示するには、ブラウザのアドレスバーに上記で生成されたアドレスを入力します。
http://192.168.11.11/group1/M00/00/00/wKgLC1-UO6yAaO0LAAx1V2pCd9o583_big.png
この時点で、Centos7.xのインストールとFastDfs(スタンドアロンバージョン)の展開が完了しました。