Annuaire d'articles
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 local
le répertoire
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/lib64
ré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.gz
le sur/usr/local/
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/fdfs
le répertoire une fois l'installation réussie
cd /etc/fdfs/
Modifier tracker.conf
vim tracker.conf
base_path=/home/yuqing/fastdfs
changer pourbase_path=/home/fastdfs
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
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/fastdfs
changer pourbase_path=/home/fastdfs
store_path0=/home/yuqing/fastdfs
changer pourstore_path0=/home/fastdfs/fdfs_storage
Continuez à modifier, définissez le serveur de suivi : IP, tracker_server=Linux LAN ip : 22122, enregistrez et quittez après le réglage
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
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
Ensuite, testez le téléchargement des fichiers. Ici, une image est téléchargée dans /usr/local
le répertoire pour être utilisée comme test.
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
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
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
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
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 :
Télécharger dans le répertoire racine
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
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;
}
}
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
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
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
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
- 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创建
Ensuite, ouvrez la liste des tunnels en ligne, affichez et copiez l'adresse du réseau public
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.
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
Cet exemple réserve un fasttest
sous-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.
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编辑
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更新
状态
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.
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.
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