FastDFS+Nginx - créez un serveur de fichiers localement et réalisez un "mappage de ports" d'accès à distance

avant-propos

FastDFS est un système de fichiers distribué léger open source. Il gère les fichiers. Ses fonctions incluent : le stockage de fichiers, la synchronisation de fichiers, l'accès aux fichiers (téléchargement de fichiers, téléchargement de fichiers), etc. Il résout les problèmes de stockage de grande capacité et d'équilibrage de charge. Il est particulièrement adapté aux services en ligne utilisant des fichiers comme support, tels que les sites Web d'albums photo, les sites Web de vidéos, etc.

FastDFS est conçu sur mesure pour Internet, prend pleinement en compte la sauvegarde redondante, l'équilibrage de charge, l'expansion linéaire et d'autres mécanismes, et prête attention à la haute disponibilité, aux hautes performances et à d'autres indicateurs. L'utilisation de FastDFS est facile à créer un ensemble de serveurs de fichiers hautes performances. clusters pour fournir le téléchargement et le téléchargement de fichiers ainsi que d'autres services.

Équiper un serveur de réseau public pour le téléchargement et le téléchargement de fichiers coûte beaucoup de ressources et de frais généraux. Si le service FastDFS est configuré localement, seuls les fichiers téléchargés sont accessibles via Internet via l'outil de redirection de port intranet cpolar, ce qui réduit considérablement le serveur. frais et frais généraux, cet article présente le didacticiel détaillé de création de FastDFS et combine les outils Nginx + cpolar pour réaliser un accès à distance aux fichiers.

1. Créez le système de fichiers FastDFS localement

1.1 Installation de l'environnement

Puisque fastDFS est écrit en langage C, nous devons installergcc

yum -y install gcc-c++ 

FastDFS est dépendant libevent库et doit être installé. Exécutez la commande suivante :

yum -y install libevent

1.2 Installer libfastcommon

Entrez le répertoire local

cd /usr/local

libfastcommon est officiellement fourni par FastDFS et libfastcommon contient certaines bibliothèques de base nécessaires au fonctionnement de FastDFS. Cliquez sur le lien ci-dessous pour l'obtenir :

https://github.com/happyfish100/libfastcommon/releases/tag/V1.0.7

Après l'avoir obtenu, téléchargez-le dans localle répertoire

1679321808236

Décompressez libfastcommon

tar -zxvf libfastcommonV1.0.7.tar.gz

Allez dans le dossier décompressé

cd libfastcommon-1.0.7/

compiler

./make.sh

Installer

./make.sh install

Une fois libfastcommon installé, il copiera automatiquement les fichiers de bibliothèque dans le /usr/lib64répertoire suivant. Puisque le programme FastDFS fait référence au répertoire usr/lib, il est nécessaire de copier les fichiers de bibliothèque sous /usr/lib64 vers /usr/lib.

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

1.3 Installer FastDFS

Entrez le répertoire local

cd /usr/local

Cliquez sur l'adresse suivante pour télécharger le fichier FastDFS_v5.05.tar.gz :

https://sourceforge.net/projects/fastdfs/

Après avoir téléchargé le fichier, téléchargez- FastDFS_v5.05.tar.gzle sur/usr/local/

1679322527568

décompresser les fichiers

tar -zxvf FastDFS_v5.05.tar.gz 

Allez dans le dossier décompressé

cd FastDFS

compiler

./make.sh 

Installer

./make.sh install

Une fois l'installation réussie, copiez les fichiers sous conf dans le répertoire d'installation dans /etc/fdfs/le répertoire suivant

cd conf/

copie

cp * /etc/fdfs/

1.4 Configurer le traqueur

Ensuite, configurez et entrez dans /etc/fdfsle répertoire une fois l'installation réussie

cd /etc/fdfs/

Modifier tracker.conf

vim tracker.conf

base_path=/home/yuqing/fastdfschanger pourbase_path=/home/fastdfs

1679321890447

Enregistrez et quittez après l'édition, puis créez un correspondantfastdfs文件夹

mkdir /home/fastdfs

Puis commencez

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

Définir le démarrage

vim /etc/rc.d/rc.local

Ajoutez la ligne de commande d'exécution au fichier

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

1679321943356

1.5 Configuration du stockage

Entrez le répertoire /etc/fdfs

cd /etc/fdfs

Modifier le fichier storage.conf

vim storage.conf

base_path=/home/yuqing/fastdfschanger pourbase_path=/home/fastdfs

1679322281423

store_path0=/home/yuqing/fastdfschanger pourstore_path0=/home/fastdfs/fdfs_storage

1679322153239

Continuez à modifier, définissez le serveur de suivi : IP, tracker_server=Linux LAN ip : 22122, enregistrez et quittez après le réglage

1679322199689

Créez le dossier fdfs_storage correspondant

mkdir /home/fastdfs/fdfs_storage

Puis commencez

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

Configurer le démarrage automatique

vim /etc/rc.d/rc.local

Ajoutez la ligne de commande d'exécution au fichier, puis enregistrez

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

image-20230319225348678

1.6 Tester le téléchargement et le téléchargement

Si FastDFS est installé avec succès, vous pouvez tester les opérations de téléchargement et de téléchargement via la commande /usr/bin/fdfs_test.

Modifier /etc/fdfs/client.conf

vim /etc/fdfs/client.conf

Modifiez le contenu suivant, puis enregistrez :

base_path=/home/fastdfs

tracker_server=Linux局域网ip:22122

1679322420123

Ensuite, testez le téléchargement des fichiers. Ici, une image est téléchargée dans /usr/localle répertoire pour être utilisée comme test.

1679322482853

Format de fichier de téléchargement FastDFS :

/usr/bin/fdfs_test /etc/fdfs/client.conf upload+ chemin pour télécharger les fichiers

Téléchargez ensuite l'image test23.png sur FastDFS selon le format

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/test23.png

Après l'exécution, nous pouvons voir les informations d'adresse de retour, ce qui signifie le succès, mais nous ne pouvons pas encore y accéder, nous devons combiner Nginx pour accéder et télécharger

1679322601788

1.7 Intégration avec Nginx

Cliquez sur le lien de téléchargement ci-dessous pour télécharger fastdfs-nginx-module_v1.16 :

[https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz/download](https://sourceforge.net/projects/ fastdfs/files/Code source du module FastDFS Nginx/fastdfs-nginx-module_v1.16.tar.gz/download)

Entrez le dossier /usr/local/

cd /usr/local/

téléchargerfastdfs-nginx-module_v1.16.tar.gz

1679322637070

Décompressez fastdfs-nginx-module_v1.16.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

Entrez src, puis éditez le fichier de configuration

cd fastdfs-nginx-module/src/

Modifier le fichier de configuration

vim config

Modifiez ces trois emplacements, changez le chemin qui était à l'origine /usr/local/ en /usr/, puis enregistrez et quittez

1679322770876

Copiez ensuite mod_FastDFS.conf sous FastDFS-nginx-module/src dans /etc/fdfs/

cp mod_fastdfs.conf /etc/fdfs/

Modifiez le contenu de mod_FastDFS.conf :

vim /etc/fdfs/mod_fastdfs.conf

La modification est la suivante :

base_path=/home/fastdfs

tracker_server=Adresse IP du réseau local Linux : 22122

url_have_group_name=true #url contient le nom du groupe

store_path0=/home/fastdfs/fdfs_storage #Spécifier le chemin de stockage du fichier

1679405651550

Ensuite, copiez libfdfsclient.so dans /usr/lib

cp /usr/lib64/libfdfsclient.so /usr/lib/

Créez simplement le répertoire nginx/client

mkdir -p /var/temp/nginx/client

1.8 Installer Nginx

Installez d'abord l'environnement série

yum -y install pcre pcre-devel  
yum -y install zlib zlib-devel  
yum -y install openssl openssl-devel

Cliquez ensuite pour télécharger le package Nginx :

nginx-1.16.1.tar.gz

Télécharger dans le répertoire racine

1679323002737

Décompressez et entrez dans le dossier décompressé

tar -zxvf nginx-1.16.1.tar.gz && cd nginx-1.16.

Ajoutez le module FastDFS-nginx-module et exécutez la commande suivante :

./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 \
--with-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

1679320271108

puis compilez

make

Installer

make install

1.9 Configurer Nginx

Modifier le fichier de configuration Nginx

vim /usr/local/nginx/conf/nginx.conf

Ajoutez un serveur, enregistrez et quittez après avoir ajouté :

server {
    
    
        listen       8089;#为了防止80端口,我们改成8089
        server_name  192.168.59.133;#这里需要使用你本机的局域网ip

        location /group1/M00/{
    
    
                ngx_fastdfs_module;
        }
}

1679406356346

Démarrer Nginx

/usr/local/nginx/sbin/nginx 

Si l'erreur suivante se produit lors du démarrage de nginx :

nginx : [emerg] open() « /var/run/nginx/nginx.pid » a échoué (2 : aucun fichier ou répertoire de ce type)

Vous pouvez exécuter la commande suivante et recommencer :

mkdir /var/run/nginx

Configurez-le pour qu'il démarre automatiquement au démarrage.

vim /etc/rc.d/rc.local

Ajoutez la ligne de commande en cours d'exécution au fichier, puis enregistrez et quittez :

/usr/local/nginx/sbin/nginx

1679321237969

désactiver le pare-feu

service iptables stop

Configurer le pare-feu pour qu'il ne démarre pas automatiquement

chkconfig iptables off

2. Accès au test LAN FastDFS

Ensuite, selon le format, testez le téléchargement de l'image test23.png que nous avons téléchargée ci-dessus sur FastDFS.

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/test23.png

Après l'exécution, nous pouvons voir les informations sur l'adresse de retour, indiquant le succès

1679323425917

Ensuite, utilisez l'adresse ci-dessus pour visiter dans le navigateur, vous pouvez voir les images que nous avons téléchargées et fastDFS est construit

1679406429350

3. Installer la pénétration intranet cpolar

Ci-dessus, nous avons installé le service de fichiers distribués fastDFS sur la machine virtuelle Linux locale. Ensuite, nous avons installé l'outil de pénétration intranet cpolar. Grâce à l'adresse du réseau public http de cpolar, nous pouvons facilement accéder à distance aux fichiers téléchargés dans fastDFS, sans avoir à vous inscrire. un nom de domaine pour acheter un serveur cloud. Voici les étapes pour installer la pénétration intranet cpolar

Site officiel de cpolar : https://www.cpolar.com/

  • Installer des commandes à l'aide de scripts en un clic
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • authentification par jeton

Connectez-vous à l'arrière-plan du site officiel de cpolar, cliquez sur la vérification à gauche pour afficher votre propre jeton d'authentification, puis collez le jeton dans la ligne de commande :

cpolar authtoken xxxxxxx

20230206171248

  • Ajouter un service au système
sudo systemctl enable cpolar
  • Démarrez le service cpolar
sudo systemctl start cpolar

4. Configurez l'adresse d'accès au réseau public

Après avoir démarré avec succès le service cpolar, nous visitons l'adresse IP du réseau local Linux + le port 9200 sur le navigateur et nous connectons à l'interface de gestion de l'interface utilisateur Web cpolar.

Après une connexion réussie, cliquez sur Gestion des tunnels sur le tableau de bord de gauche - Créer un tunnel et créez un tunnel de protocole http pointant vers le port Nginx8089 défini ci-dessus :

  • Nom du tunnel : peut être personnalisé, veillez à ne pas dupliquer le nom du tunnel existant
  • protocole : http
  • Adresse locale : 8089
  • Type de nom de domaine : choisissez gratuitement un nom de domaine aléatoire
  • Région : Sélectionnez Chine VIP

Cliquez sur创建

1679406828417

Ensuite, ouvrez la liste des tunnels en ligne, affichez et copiez l'adresse du réseau public

1679406894080

Ensuite, ouvrez le navigateur, entrez l'adresse du réseau public, accédez aux fichiers que nous avons téléchargés dans fastDFS et l'accès à distance est réussi.

1679406972587

5. Adresse du réseau public fixe

Étant donné que le tunnel qui vient d'être créé utilise une adresse temporaire aléatoire, l'adresse changera dans les heures 24. Pour un accès à distance à long terme et plus stable, nous configurerons ensuite cette adresse de réseau public comme fixe.

5.1 Sous-domaines réservés de deuxième niveau

Vous devez passer au package de base ou supérieur pour prendre en charge la configuration des sous-domaines de deuxième niveau. Si vous devez télécharger des fichiers, vous pouvez passer à un package supérieur pour obtenir une plus grande bande passante et améliorer la vitesse de téléchargement.

Connectez-vous à l'arrière-plan du site officiel de cpolar , cliquez sur le tableau de bord à gauche 预留, recherchez 保留二级子域名et réservez un nom de sous-domaine de deuxième niveau pour le tunnel http.

  • Région : sélectionnez la région du serveur
  • Nom : Remplissez le nom du sous-domaine de deuxième niveau que vous souhaitez conserver (personnalisable)
  • Description : Remarques pouvant être personnalisées

1679407261443

Cet exemple réserve un fasttestsous-domaine de deuxième niveau nommé . Une fois le nom du sous-domaine réservé avec succès, nous copions le nom du sous-domaine, puis nous devons le configurer dans le tunnel.

1679407306636

5.2 Configurer le nom du sous-domaine de deuxième niveau

Connectez-vous à l'interface de gestion de l'interface utilisateur Web cpolar. 隧道管理Cliquez —— sur le tableau de bord de gauche 隧道列表, recherchez le tunnel qui doit configurer le nom de sous-domaine de deuxième niveau et cliquez sur la droite编辑

1679407950343

Modifiez les informations du tunnel et configurez le nom du sous-domaine de deuxième niveau dans le tunnel :

  • Type de domaine : sélectionnez plutôt二级子域名
  • Sous-domaine : remplissez le nom de sous-domaine de deuxième niveau que nous venons de réserver (dans cet exemple fasttest)

Une fois la modification terminée, cliquez sur更新

1679407459593

状态Une fois le tunnel mis à jour avec succès, cliquez sur —— sur le tableau de bord de gauche 在线隧道列表et vous pourrez voir l'adresse du réseau public du tunnel, qui a été mise à jour vers un nom de sous-domaine de deuxième niveau, et copier l'adresse du réseau public.

1679407508347

6. Testez l'accès aux sous-domaines fixes de deuxième niveau

Testons l'accès au nom de sous-domaine de deuxième niveau configuré avec succès, ouvrons le navigateur, saisissons l'adresse du réseau public ainsi que le chemin de la ressource, accédons aux fichiers que nous avons téléchargés dans fastDFS et l'accès à distance réussira si l'image apparaît. Désormais, notre seul nom de sous-domaine privé de deuxième niveau sur l'ensemble du réseau a été créé.

Et cette adresse ne changera plus aléatoirement, elle est fixe, tant que le tunnel est en ligne, nous pouvons utiliser cette adresse de réseau public pour accéder à distance à tout moment et n'importe où, sans avoir besoin d'une IP de réseau public ni de configurer un routeur.

1679407663302

Réimprimé de l'article de cpolar pole point cloud : FastDFS et Nginx se combinent pour créer un serveur de fichiers et une pénétration du réseau interne pour obtenir un accès au réseau public

Je suppose que tu aimes

Origine blog.csdn.net/YYDsis/article/details/132424564
conseillé
Classement