Dieser Artikel stellt hauptsächlich vor, wie man einen FastDFS-Dateiserver auf einem Linux-Server erstellt. Die Unterteilung erfolgt grob in 9 Schritte, da die Inhalte relativ komplex sind. Lass mich dich in die Grube da unten führen! Lassen Sie mich zunächst kurz FastDFS vorstellen, ein verteiltes Dateisystem, das in der Programmiersprache C geschrieben und von Herrn Yu Qing, einem leitenden Architekten von Taobao, als Open Source entwickelt wurde. Geeignet für kleine und mittlere Unternehmen, Dateien werden nicht in Blöcke aufgeteilt. Dabei handelt es sich im Wesentlichen um Tracker (Verwaltung) und Storage (Speicher). Rückgabepfad = Gruppenname/virtueller Laufwerksbuchstabe {M00/00/02}/Dateiname 1. Softwarepaket Nachfolgend finden Sie das Installationspaket für Schritt 1: Geben Sie https://sourceforge.net/projects/fastdfs/files in die Adressleiste des Browsers ein und Sie sehen die in der folgenden Abbildung dargestellte Benutzeroberfläche. Schritt 2: Laden Sie das FastDFS Server-Installationspaket herunter. Klicken Sie im obigen Bild auf „FastDFS Server-Quellcode“ und Sie sehen die unten gezeigte Schnittstelle. Wählen Sie die Version 2014-12-02, da dies die stabilste Version ist. Schritt 3: Wir sehen die Schnittstelle wie unten dargestellt, wir klicken zum Herunterladen auf „FastDFS_v5.05.tar.gz“. Nachfolgend finden Sie die heruntergeladene Oder laden Sie es selbst herunter wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz wget http://nginx.org/download/nginx-1.12.1.tar.gz 2. Installieren Sie gccÜberprüfen Sie, ob GCC auf dem System installiert ist gcc –version Installieren Sie GCC yum -y gcc installieren gcc-c++ autoconf pcre pcre-devel make automake yum -y installiere wget httpd-tools vim Verwenden Sie einfach gcc als C-Sprachcompiler und g++ als C++-Sprachcompiler. (Zhihu) 3. Installieren Sie libfastcommonRufen Sie das komprimierte Paketverzeichnis von libfastcommon auf, um es zu dekomprimieren, zu kompilieren und zu installieren. tar -zxvf libfastcommonV1.0.7.tar.gz Öffnen Sie das entpackte Verzeichnis libfastcommon-1.0.7 und kompilieren Sie ./make.sh Installieren ./make.sh installieren Schließlich befindet sich die Datei libfastcommon.so in usr/lib. Bitte ändern Sie den kopierten Pfad entsprechend Ihrem tatsächlichen Dateipfad. cp /data/fastDFS/software/libfastcommon-1.0.7/src/libfastcommon.so /usr/lib 4. Installieren Sie FastDFS Entpacken Sie tar -zxvf FastDFS_v5.05.tar.gz ./make.sh ./make.sh installieren Nach erfolgreicher Installation kopieren Sie die Dateien im Verzeichnis cp /data/fastDFS/software/FastDFS/conf/* /etc/fdfs/ 5. Tracker installieren Wechseln Sie in das Verzeichnis base_path=/home/yuqing/fastdfs >>> base_path=/home/logs/fastdfs (Hinweis: Protokolldatei) http.server_port=8080 >>> http.server_port=80 (Hinweis: Port 80 ist der Einfachheit halber der Standard) store_group=group1 (Hinweis: Gruppenname) Unter ihnen Protokolle Wenn das Verzeichnis Starten Sie anschließend fdfs_trackerd /etc/fdfs/tracker.conf starten netstat -unltp | Grep-Tracker 6. Speicher installierenDa sowohl der Speicher als auch der Tracker FastDFS-Programme ausführen, stellt jeder Server ein fasfDFS bereit, wobei ein Server der Tracker und der andere der Speicher ist. Ändern Sie die Datei base_path=/home/yuqing/fastdfs >>> base_path=/home/logs/storage (Protokollpfad) store_path0=/home/yuqing/fastdfs >>> store_path0=/home/data/storage (tatsächlicher Speicherdateipfad, mehrere Pfade können konfiguriert werden) tracker_server=192.168.209.121:22122 >>> tracker_server=192.168.2.231:22122 (Verbindung zur Tracker-Serveradresse herstellen) group_name=group1 (muss mit dem Namen der Tracker-Gruppe identisch sein) http.server_port=80 (dieser Port muss ebenfalls geändert werden) Wenn Starten Sie anschließend fdfs_storaged /etc/fdfs/storage.conf starten netstat -unltp | grep-Speicher Überprüfen Sie abschließend, ob fdfs_monitor /etc/fdfs/storage.conf Wie unten gezeigt, wird 7. Testen Sie den Bild-Upload Tracker und Speicher wurden installiert. Mit dem folgenden Befehl können Sie den Dateiupload testen: Ändern Sie client.conf unter /etc/fdfs base_path=/home/logs/client (Protokollverzeichnis) tracker_server=192.168.2.231:22122 (Tracker-Port) Testbefehl /usr/bin/fdfs_test /etc/fdfs/client.conf lade anti-steal.jpg hoch Wenn die Absenderadresse wie unten angegeben ist, ist es erfolgreich 8. Installieren Sie Nginx.Installieren Sie andere von Nginx benötigte Umgebungen. GCC wurde oben installiert. Ich habe diesen Schritt bei der Installation nicht gemacht #gcc-Installation yum installiere gcc-c++ #PCRE pcre-devel installieren yum install -y pcre pcre-devel # Installieren Sie zlib yum install -y zlib zlib-devel #OpenSSL-Installation yum install -y openssl openssl-devel Entpacken, kompilieren und installieren. tar -zxvf nginx-1.12.1.tar.gz cd nginx-1.12.1 ./konfigurieren machen installieren 9. Installieren Sie fastdfs-nginx-module Entpacken Sie zuerst Kopieren Sie die Bibliotheksdatei libfdfsclient.so in das Verzeichnis usr/lib64 cp /usr/lib64/libfdfsclient.so /usr/lib Führen Sie den folgenden Befehl im nginx-Installationsverzeichnis aus: Fügen Sie das Modul zu nginx hinzu. Fügen Sie Module hinzu, indem Sie Installationsparameter festlegen. cd nginx-1.12.1 ./Konfigurieren --add-module=../fastdfs-nginx-module/src Hinweis: Ich habe nginx-1.12.1 und fastdfs-nginx-module im selben Verzeichnis, also schreiben Sie es so Installieren Sie den Compiler neu machen && machen installieren Nginx-Module anzeigen /usr/local/nginx/sbin/nginx -V Kopieren Sie die Konfigurationsdatei im Quellcode des Fastdfs-Nginx-Moduls in das Verzeichnis /etc/fdfs und ändern Sie cd fastdfs-nginx-module/src cp mod_fastdfs.conf /etc/fdfs/ Geben Sie /etc/fdfs/ ein und ändern Sie mod_fastdfs.conf wie folgt. Andere Einstellungen sind Standardeinstellungen. #Verbindungs-Timeout connect_timeout=10 Tracker Server tracker_server=192.168.2.231:22122 # StorageServer-Standardport storage_server_port=23000 # Wenn die URI der Datei-ID /group** enthält, setzen Sie sie auf true url_have_group_name = wahr # Der Pfad store_path0 der Storage-Konfiguration muss mit dem in storage.conf store_path0=/home/data/storage übereinstimmen. # der Basispfad zum Speichern von Protokolldateien Basispfad=/home/Protokolle/Speicher Konfigurieren Sie iNginx, gehen Sie in das Verzeichnis /usr/local/nginx/conf und ändern Sie nginx.conf Hinweis: Es spielt keine Rolle, wo Sie entpacken und installieren. Sie müssen in dieses Verzeichnis /usr/local/nginx/conf gehen und nginx.conf ändern vim nginx.conf Ändern Sie die Konfiguration, andere Standardeinstellungen Fügen Sie das Modul fastdfs-nginx zu Port 80 hinzu Standort ~/Gruppe([0-9])/M00 { ngx_fastdfs_module; } Beachten Sie, dass der folgende #user nobody; in #user root; geändert wird. #Benutzer niemand; Arbeiterprozesse 1; #error_log Protokolle/Fehler.log; #error_log Protokolle/error.log Hinweis; #error_log Protokolle/error.log-Info; #pid-Protokolle/nginx.pid; Ereignisse { Arbeiterverbindungen 1024; } http { mime.types einschließen; Standardtyp Anwendung/Oktett-Stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log Protokolle/access.log Haupt; sendfile an; #tcp_nopush ein; #keepalive_timeout 0; KeepAlive-Timeout 65; #gzip ein; Server { hören Sie 80; Servername 192.168.2.231; Standort ~/Gruppe([0-9])/M00 { ngx_fastdfs_module; } #Zeichensatz koi8-r; #access_log Protokolle/Host.access.log Haupt; Standort / { Stamm-HTML; Index Index.html Index.htm; } #Fehlerseite 404 /404.html; # Server-Fehlerseiten auf die statische Seite /50x.html umleiten # Fehlerseite 500 502 503 504 /50x.html; Standort = /50x.html { Stamm-HTML; } # Proxy für die PHP-Skripte an Apache, das auf 127.0.0.1:80 lauscht # #Standort ~ \.php$ { # Proxy-Passwort http://127.0.0.1; #} # Übergeben Sie die PHP-Skripte an den FastCGI-Server, der auf 127.0.0.1:9000 lauscht. # #Standort ~ \.php$ { #Wurzel-HTML; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #fastcgi_params einschließen; #} # Zugriff auf .htaccess-Dateien verweigern, wenn das Apache-Dokumentenstammverzeichnis # stimmt mit nginx überein # #Standort ~ /\.ht { # alles ablehnen; #} } # ein weiterer virtueller Host mit einer Mischung aus IP-, Namens- und Port-basierter Konfiguration # #server { # hören Sie 8000; # hören Sie irgendein Name:8080; # Servername irgendein Name Alias anderer.Alias; # Standort / { #Wurzel-HTML; # index.html index.htm; # } #} # HTTPS-Server # #server { # 443 SSL abhören; # Servername localhost; # SSL-Zertifikat cert.pem; # SSL-Zertifikatsschlüssel cert.key; # ssl_session_cache geteilt:SSL:1m; #ssl_session_timeout 5m; # ssl_ciphers HOCH:!aNULL:!MD5; # ssl_prefer_server_ciphers ein; # Standort / { #Wurzel-HTML; # index.html index.htm; # } #} } Beachten: Der Listening-Port-Wert 80 sollte http.server_port=80 in /etc/fdfs/storage.conf entsprechen (zuvor auf 80 geändert). Bei einem Wechsel auf einen anderen Port ist eine Vereinheitlichung und Öffnung des Ports in der Firewall erforderlich. Wenn mehrere Gruppen vorhanden sind, konfigurieren Sie für die Standortkonfiguration den Standort ~/group([0-9])/M00. Wenn keine Gruppen vorhanden sind, ist keine Gruppe erforderlich. Erstellen Sie einen Softlink im Dateispeicherverzeichnis und verknüpfen Sie ihn mit dem Verzeichnis, in dem die Daten tatsächlich gespeichert sind. Beachten Sie, dass die mehreren Datenverzeichnisse hinter diesem Dateispeicherort automatisch vom System generiert werden. ln -s /home/Daten/Speicher/Daten /home/Daten/Speicher/Daten/M00 Starten Sie nginx #Nginx starten cd /usr/local/nginx/sbin/ ./nginx startet direkt /usr/local/nginx/sbin/nginx #Vim-Startup /etc/rc.local einrichten /usr/local/nginx/sbin/nginx # Ausführungsberechtigungen festlegen chmod 755 rc.local Überprüfen Sie, ob Nginx gestartet ist ps -ef | grep nginx OK, denken Sie daran, dass die Sicherheitsgruppen- und Firewall-Einstellungen des Cloud-Dienstes 80, 22122 und 23000 sein müssen. Wenn Sie nicht wissen, wie das geht, lesen Sie bitte die Firewall-Einstellungen im Tencent Cloud Server Tomcat Port Unreachable Zugriff erfolgreich in der Adressleiste http://192.175.231.128/group1/M00/00/00/rBAACVzBeU2AQBKJAAOHDqS1H9o350.jpg Fehler melden! Existiert nicht. Es gibt Probleme 110, 120, 119 Beachten: 1. Der FastDFS-Dienstport von Storage2 und Storage3 in derselben Gruppe von Gruppe2 muss konsistent sein: Port=23000. 2. Ein Server kann mehrere Gruppen haben, aber nicht mehrere Speicher in derselben Gruppe. Das Protokoll meldet einen Fehler. Der Grund für den Fehler ist „Hinweis 1“ 3. Vor Version 4.05 hat FastDFS libevent intern als HTTP-Server gebunden. Versionen nach Version 4.05 haben den integrierten Web-HTTP-Dienst gelöscht. Der integrierte Web-HTTP-Dienst ist eine Belastung und es ist besser, ihn nicht zu verwenden! 4. Beim Starten des Speicherservers befindet er sich immer in einem Deadlock-Zustand. Beim Starten des Speicherservers stellt der Speicher eine Verbindung zum Tracker-Server her. Wenn keine Verbindung hergestellt werden kann, wird es immer wieder versucht. Der Start ist erst abgeschlossen, wenn die Verbindung erfolgreich ist! Wenn sich 2 Tracker-Server im Cluster befinden, Wenn einer der Tracker nicht gestartet wird, kann der Speicherserver in einem Deadlock-Zustand verbleiben. Dies ist das Ende dieses Artikels über die Implementierungsschritte zum Erstellen eines FastDFS-Dateiservers unter Linux. Weitere relevante Inhalte zum Erstellen eines FastDFS-Dateiservers unter Linux finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Analyse der Gründe, warum MySQL-Felddefinitionen nicht null verwenden sollten
>>: Was Sie beim Gestalten von Webseiten für Mobilgeräte mit kleinem Bildschirm beachten sollten
Vorwort Führen Sie den Befehl show create table &...
1. Neuen Benutzer anlegen: 1. Führen Sie eine SQL...
Dieser Artikel veranschaulicht anhand von Beispie...
1. Auf welche Probleme sind wir gestoßen? In Stan...
1.MySQL-Funktionen 1. Mathematische Funktionen PI...
Es ist sehr wichtig, den Betriebsstatus von Conta...
Lassen Sie uns über einige Probleme sprechen, die ...
Vorwort Die Rolle des Prozessmanagements: Integri...
Inhaltsverzeichnis Was ist ein Skelettbildschirm?...
Die Probleme und Lösungen, die beim Bereitstellen...
Lassen Sie mich Ihnen zunächst den fertigen Effek...
Vorwort Nginx ist ein leichtgewichtiger HTTP-Serv...
In manchen Vorstellungsgesprächen werden häufig F...
Inhaltsverzeichnis Was ist ein Einfügepuffer? Was...
Derzeit tritt ein solches Problem auf Bei mir war...