Centos7-Konfiguration, Fastdfs und Analyse des Implementierungsprozesses des verteilten Dateispeichersystems Nginx

Centos7-Konfiguration, Fastdfs und Analyse des Implementierungsprozesses des verteilten Dateispeichersystems Nginx

1. Installieren Sie libfastcommon-1.0.43. Das Installationspaket kann von https://github.com/happyfish100/libfastcommon/releases heruntergeladen werden.

[root@localhost Downloads]# tar -zxvf libfastcommon-1.0.43.tar.gz

# Geben Sie nach der Dekomprimierung das Verzeichnis zum Kompilieren und Installieren ein
[root@localhost libfastcommon-1.0.43]#cd libfastcommon-1.0.43
[root@localhost libfastcommon-1.0.43]#make
[root@localhost libfastcommon-1.0.43]#make install

Hinweis: Nach der Installation von libfastcommon wird die Bibliotheksdatei libfastcommon.so im Verzeichnis /usr/lib64 generiert. Da das FastDFS-Programm auf das Verzeichnis usr/lib verweist, müssen Sie die Bibliotheksdatei in /usr/lib64 nach /usr/lib kopieren.

cp /usr/lib64/libfastcommon.so /usr/lib

2. Installieren Sie fastdfs. Das Installationspaket kann von https://github.com/happyfish100/fastdfs/releases heruntergeladen werden.

# In das aktuelle Verzeichnis entpacken
tar -zxvf fastdfs-6.06.tar.gz

# Geben Sie das Verzeichnis zum Kompilieren und Installieren ein
machen.sh
make.sh installieren

Nach erfolgreicher Installation kopieren Sie die Dateien unter /conf nach /etc/fdfs

[root@localhost conf]# ll
insgesamt 92
-rw-rw-r--. 1 root root 23981 Dez 31 07:36 anti-steal.jpg
-rw-rw-r--. 1 root root 1909 Dez 31 07:36 client.conf
-rw-rw-r--. 1 root root 965 Dez 31 07:36 http.conf
-rw-rw-r--. 1 root root 31172 Dez 31 07:36 mime.types
-rw-rw-r--. 1 root root 10246 Dez 31 07:36 storage.conf
-rw-rw-r--. 1 root root 620 Dez 31 07:36 storage_ids.conf
-rw-rw-r--. 1 root root 9138 Dez 31 07:36 tracker.conf
[root@localhost conf]# cd ..
[root@localhost fastdfs-6.06]# cp /conf/* /etc/fdfs
[root@localhost fastdfs-6.06]# ll /etc/fdfs
insgesamt 128
-rw-r--r--. 1 root root 23981 Jun 21 02:16 anti-steal.jpg
-rw-r--r--. 1 root root 1904 Juni 21 02:24 client.conf
-rw-r--r--. 1 root root 1909 Juni 21 02:15 client.conf.sample
-rw-r--r--. 1 root root 965 21. Juni 02:54 http.conf
-rw-r--r--. 1 root root 31172 21. Juni 02:54 mime.types
-rw-r--r--. 1 root root 3738 21. Juni 02:41 mod_fastdfs.conf
-rw-r--r--. 1 root root 10238 21. Juni 02:23 storage.conf
-rw-r--r--. 1 root root 10246 21. Juni 02:15 storage.conf.sample
-rw-r--r--. 1 root root 620 21. Juni 02:16 storage_ids.conf
-rw-r--r--. 1 root root 620 21. Juni 02:15 storage_ids.conf.sample
-rw-r--r--. 1 root root 9129 21. Juni 02:18 tracker.conf
-rw-r--r--. 1 root root 9138 21. Juni 02:15 tracker.conf.sample
[root@localhost fastdfs-6.06]#

3. Tracker konfigurieren und starten

# Wechseln Sie in das Verzeichnis /etc/fdfs cd /etc/fdfs

# Kopieren Sie eine neue Tracker-Konfigurationsdatei cp tracker.conf.sample tracker.conf

#Tracker.conf ändern; vim tracker.conf
# /home/fastdfs wird zum Speichern von Trackerdaten und Protokollen verwendet
base_path=/home/yuqing/fastdfs wird geändert in: base_path=/home/fastdfs
http.server_port wird geändert in: 80

# Starten Sie den Tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf Neustart

4. Speicher konfigurieren und starten

# Wechseln Sie in das Verzeichnis /etc/fdfs cd /etc/fdfs

# Kopieren Sie eine neue Tracker-Konfigurationsdatei cp storage.conf.sample storage.conf

# storage.conf ändern; vim storage.conf
group_name=group1 #Konfigurieren Sie den Gruppennamen base_path=/home/yuqing/fastdfs in: base_path=/home/fastdfs

#Speicherort der Store-Datei (Store-Pfad)
store_path0=/home/yuqing/fastdfs wird geändert in: store_path0=/home/fdfs_storage 
#Wenn mehrere gemountete Datenträger vorhanden sind, definieren Sie mehrere Store_Paths wie folgt#store_path1=.....
#store_path2=......

#Tracker-Server konfigurieren: IP
tracker_server=192.168.172.20:22122
# Wenn mehrere Tracker vorhanden sind, konfigurieren Sie mehrere Tracker
#tracker_server=192.168.101.4:22122

#Konfigurieren Sie den HTTP-Port. Verwenden Sie den Standardport http.server_port=8888

#Speicher starten, den Befehl wie folgt ausführen:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf Neustart

#Geben Sie nach Abschluss des Startvorgangs das Verzeichnis /home/fdfs_storage/data ein. Das Verzeichnis wird wie folgt angezeigt [root@localhost home]# cd fdfs_storage/
[root@localhost fdfs_storage]# ls
Daten
[root@localhost fdfs_storage]# cd Daten/
[root@localhost-Daten]# ls
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
[root@localhost-Daten]

5. Verwenden Sie die integrierten Tools von FastDFS, um das Hochladen von Dateien zu testen

# Wechseln Sie zum Verzeichnis /etc/fdfs/ cd /etc/fdfs

# Kopieren Sie eine neue Client-Konfigurationsdatei cp client.conf.sample client.conf

# client.conf ändern; vim client.conf
Basispfad = /home/fastdfs
tracker_server = 192.168.52.133:22122
#tracker_server = 192.168.0.197:22122

#Um das Hochladen von Dateien zu testen, führen Sie Folgendes aus:
/usr/bin/fdfs_test /etc/fdfs/client.conf lade wyc01.jpg hoch

#Ergebnis:
[youth@localhost Bilder]$ /usr/bin/fdfs_test /etc/fdfs/client.conf lade wyc01.jpg hoch 
Dies ist das FastDFS-Client-Testprogramm v6.06

Copyright (C) 2008, Happy Fish / YuQing

FastDFS darf nur unter den Bedingungen der GNU General
Public License V3, die im FastDFS-Quellcode-Kit zu finden ist.
Bitte besuchen Sie die FastDFS-Homepage http://www.fastken.com/ 
für weitere Details.

[2020-06-21 03:54:35] DEBUG - base_path=/home/fastdfs, connect_timeout=5, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, Anzahl der Speicherserver-IDs: 0

tracker_query_storage_store_list_without_group: 
 Server 1. Gruppenname=, IP-Adresse=192.168.52.133, Port=23000

Gruppenname=Gruppe1, IP-Adresse=192.168.52.133, Port=23000
Speicherupload nach Dateiname
Gruppenname = Gruppe1, Remote-Dateiname = M00/00/00/wKg0hV7uaXyALZfuAABDP6pWIGE814.jpg
Quell-IP-Adresse: 192.168.52.133
Dateizeitstempel=2020-06-21 03:54:36
Dateigröße=17215
Datei crc32=2857771105
Beispieldatei-URL: http://192.168.52.133/group1/M00/00/00/wKg0hV7uaXyALZfuAABDP6pWIGE814.jpg
Speicherupload-Slave nach Dateiname
Gruppenname=Gruppe1, Remote-Dateiname=M00/00/00/wKg0hV7uaXyALZfuAABDP6pWIGE814_big.jpg
Quell-IP-Adresse: 192.168.52.133
Dateizeitstempel=2020-06-21 03:54:36
Dateigröße=17215
Datei crc32=2857771105
Beispieldatei-URL: http://192.168.52.133/group1/M00/00/00/wKg0hV7uaXyALZfuAABDP6pWIGE814_big.jpg
[youth@localhost Bilder]$

Hinweis: http://192.168.52.133/group1/M00/00/00/wKg0hV7uaXyALZfuAABDP6pWIGE814.jpg ist der Link des gerade hochgeladenen Bildes, aber nginx ist derzeit nicht integriert, sodass kein Zugriff über http möglich ist.

6. Fastdfs- und Nginx-Integration

①Installieren Sie fastdfs-nginx-module. Das Installationspaket kann von https://github.com/happyfish100/fastdfs-nginx-module/releases heruntergeladen werden.

#Entpacken Sie tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

# Geben Sie das Verzeichnis ein, um die Conf-Konfiguration zu ändern cd /usr/local/fastdfs-nginx-module/src/

vim-Konfiguration

 HTTP_MODULES = "$HTTP_MODULES ngx_http_fastdfs_module"
 NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
 # Nur hier ändern und lokal löschen CORE_INCS="$CORE_INCS /usr/include"
 CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient"
 CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"

②Kopieren Sie mod_fastdfs.conf unter fastdfs-nginx-module/src nach /etc/fdfs/

cp mod_fastdfs.conf /etc/fdfs/

③ Und ändern Sie den Inhalt von /etc/fdfs/mod_fastdfs.conf; vi /etc/fdfs/mod_fastdfs.conf

Basispfad=/home/fastdfs
tracker_server=192.168.172.20:22122
#tracker_server=192.168.172.20:22122 #(mehrere Tracker mit mehreren Zeilen)
url_have_group_name=true #Die URL enthält den Gruppennamen
store_path0=/home/fdfs_storage #Geben Sie den Dateispeicherpfad an (Speicherpfad wie oben konfiguriert)

7. Installieren Sie nginx

# Auf der offiziellen Nginx-Website gibt es ein Installationspaket, das direkt heruntergeladen werden kann. # Entpacken Sie tar -zxvf nginx-1.8.0.tar.gz

# Geben Sie das Verzeichnis ein und konfigurieren Sie den Befehl # --prefix ist der Installationspfad von nginx # --add-module ist der Dateipfad, nachdem fastdfs-nginx-module dekomprimiert wurde./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--mit-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/usr/local/fastdfs-nginx-module/src# Kompilieren und installieren make && make install# Kopieren Sie die beiden Dateien im Konfigurationsordner nginx-1.19.0/conf (entpacktes nginx) nach /etc/fdfs
cp http.conf mime.types /etc/fdfs/

Hinweis: Das temporäre Dateiverzeichnis ist oben als /var/temp/nginx angegeben. Sie müssen Temp- und Nginx-Verzeichnisse unter /var erstellen. Ich habe den PID-Pfad angegeben, also muss ich auch ein Nginx im Ordner /var/run erstellen und dann ein nginx.pid im Nginx-Ordner erstellen. Andernfalls erhalten Sie beim Starten von Nginx einen Fehler: nginx: [emerg] open() "/var/run/nginx/nginx.pid" fehlgeschlagen (2: Keine solche Datei oder kein solches Verzeichnis). Es wird empfohlen, es nicht anzugeben. Diese Grube ist zu tief.

8. Ändern Sie die Nginx-Konfigurationsdatei

Server {
  hören Sie 80;
  #Servername localhost;
  Servername 192.168.52.133;

  #Zeichensatz koi8-r;

  #access_log Protokolle/Host.access.log Haupt;
 
  Standort ~/Gruppe([1~9])/M00/{
   Stammverzeichnis /home/fdsf_storage/data;
   ngx_fastdfs_module;
  }

  Standort / {
   Stamm-HTML;
   Index Index.html Index.htm;
  }

9. Starten Sie nginx. Da nginx standardmäßig Port 80 verwendet, stellen Sie sicher, dass Port 80 nicht belegt ist. Wenn er belegt ist, beenden Sie ihn. Stellen Sie sicher, dass die Firewall externen Geräten den Zugriff auf den Server erlaubt.

/verwenden/lokal/nginx/sbin/nginx

[root@localhost fdfs]# ps -ef | grep nginx
root 7466 1 0 03:12 ? 00:00:00 nginx: Master-Prozess nginx
niemand 7590 7466 0 03:21 ? 00:00:00 nginx: Arbeitsprozess
root 8514 2806 0 04:17 Punkte/0 00:00:00 grep --color=auto nginx
[root@localhost fdfs]

10. Greifen Sie über externe Geräte auf FastDFS-Dateisystemabbilder zu

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Dateispeicherung in Android
  • Android-Entwicklung zur Implementierung der Dateispeicherfunktion
  • Analyse des benutzerdefinierten Speichersystems Django File Storage
  • Analyse des Standardspeichersystems von Django zur Dateispeicherung
  • Android I/0 Stream-Operationsdatei (Dateispeicher)

<<:  Zusammenfassung gängiger MySQL-Funktionsbeispiele [Aggregatfunktionen, Zeichenfolgen, Zahlen, Zeit- und Datumsverarbeitung usw.]

>>:  js canvas realisiert Bilder mit abgerundeten Ecken

Artikel empfehlen

33 Eis- und Schnee-Schriftarten zum Download empfohlen (privat und kommerziell)

01 Winterflocken (nur einzeln) 02 Snowtop Caps (k...

So erstellen Sie mit Dockerfile ein Spiegelbild der Java-Laufzeitumgebung

Die aktuelle Umgebung ist: Centos 7.5 docker-ce 1...

Beispiel für die Bereitstellung von MySQL auf Docker

Inhaltsverzeichnis 1 Was ist eine Container-Cloud...

Flex-Layout ermöglicht adaptive Seiten (Syntax und Beispiele)

Einführung in Flex Layout Flex bedeutet auf Engli...

MySQL-Datenbank muss SQL-Anweisungen kennen (erweiterte Version)

Dies ist eine erweiterte Version. Die Fragen und ...

Zentrieren des Formulars in HTML

Ich bin einmal auf eine Aufgabe gestoßen, bei der...

Der Prozess des Aufbaus einer Lampenarchitektur durch einen Docker-Container

Inhaltsverzeichnis 1. Ziehen Sie das Centos-Image...

Webdesign-Tipps für Formular-Eingabefelder

1. Gestricheltes Feld, wenn die Abbrechen-Schaltfl...