D
: Téléchargez FastDFS
Nous avons besoin de trois fichiers au total
1. Système de stockage de fichiers distribué FastDFS
2.libfastCommon Bibliothèque de fonctions Fastdfs
3. connexion fastddfs-nginx-module Module de fonction Nginx
lors du téléchargement S'il vous plaît notez que le format téléchargé ici est .zip et non tar.gz. La raison en est qu'une erreur se produira lors de l'utilisation du module fastdfs-nginx-module pour intégrer nginx. La raison est que la version fastdfs doit être >= 5.11. Sinon, une erreur sera signalée lors de la compilation de nginx. Vous pouvez consulter le fichier d'installation du module pour obtenir des instructions. Étant donné que la version publiée par fastdfs n'est que jusqu'à 5.10, l'auteur n'a pas mis à jour la version vers 5.11. Cependant, le code sur github a été mis à jour, vous pouvez donc le télécharger directement. Voici l'adresse github de l'auteur
Remarque : pour décompresser des fichiers au format zip, vous devez avoir un logiciel de décompression installé sur le système. Sinon, vous pouvez utiliser la commande pour installer : yum install zip unzip
yum install zip unzip
为了安装方便,操作过程中,可以切换到root权限进行操作
下载完成之后,将文件夹上传到服务器
再次提醒此处的都是zip格式的文件,使用命令 unzip filename
逐一解压每个zip文件。例如: unzip fastdfs-master
下面是解压后的情况,因为不喜欢带master 的后缀,在解压之后删除了。可以使用命令操作 mv oldfilename newfilename
例如: mv fastdfs-master fastdfs
<img src="https://img.php.cn/upload/article/000/887/227/168422662134669.png" alt="Comment installer et configurer FastDFS pour intégrer Nginx-1.13.3">
二:安装fastdfs
1.安装fastdfs函数库
解压之后,先进入 libfastcommon
目录 cd libfastcommon
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,进入 fastdfs cd fastdfs
和 libfastcommon
同样的安装方式
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,可以看到两个目录,后面会使用到
三:配置
1.配置说明
配置文件请根据服务器的不同,进行不同的配置。本文中 tracker server, storage server 都安装在一台服务器上。
2.配置文件目录
在安装完成之后,在 /etc 下会生成一个 fdfs 文件夹,进入fast配置文件目录 cd /etc/fdfs/
。可以看到以 .sample 结尾的示例文件。
为了方便,使用命令删除以上所有文件 rm -f *
,然后复制 /fastdfs/conf 目录内所有文件到 /etc/fdfs 目录下。
注:/fastdfs/conf为解压后的fastdfs目录
3.配置和启动tracker server
打开 tracker.conf
文件 vim ./tracker.conf
, 修改base_path路径改成你自己的目录, 端口之类的没占用情况下就不修改了
修改完成之后,尝试启动tracker /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
注:base_path路径需要预先创建, 否则报错: error info: no such file or directory
命令执行之后,发现没有任何反应,接着使用命令 netstat -unltp|grep fdfs
,查看是否启动
可以看到tracker server 已经在22122端口监听
4.配置和启动storage server
接下来修改storage.conf配置文件 vim storage.conf
unzip filename
pour décompresser chaque fichier zip un par un. Par exemple : unzip fastdfs-master
🎜🎜 Voici la situation après la décompression. Parce que je n'aime pas le suffixe avec master, je l'ai supprimé après la décompression. Vous pouvez utiliser la commande mv oldfilename newfilename
🎜🎜 Par exemple : mv fastdfs-master fastdfs
🎜🎜<img src="https://img.php%20.cn/%20upload/article/000/887/227/168422662134669.png" alt="Comment installer et configurer FastDFS pour intégrer Nginx-1.13.3">
🎜🎜🎜Deux : Installer fastdfs🎜🎜🎜 1. Installez la bibliothèque de fonctions fastdfs🎜🎜Après la décompression, entrez d'abord dans le répertoire libfastcommon
cd libfastcommon
🎜🎜 Compilez le fichier ./make.sh
🎜 🎜 Installation : /make.sh install🎜🎜Une fois l'installation terminée, entrez la même méthode d'installation que fastdfs cd fastdfs
et libfastcommon
🎜🎜 Compiler le fichier ./make. sh🎜🎜 Installation : ./make.sh install
🎜🎜 Une fois l'installation terminée, vous pouvez voir deux répertoires, qui seront utilisés plus tard🎜🎜🎜🎜🎜 Trois : Configuration🎜🎜🎜 1. Instructions de configuration 🎜🎜 Veuillez configurer le fichier de configuration différemment selon le serveur. Dans cet article, le serveur de suivi et le serveur de stockage sont tous deux installés sur un seul serveur. 🎜🎜 2. Répertoire du fichier de configuration🎜🎜 Une fois l'installation terminée, un dossier fdfs sera généré sous /etc, entrez dans le répertoire du fichier de configuration rapide cd /etc/fdfs/
. Vous pouvez voir des exemples de fichiers se terminant par .sample. 🎜🎜 🎜🎜 Pour plus de commodité, utilisez la commande pour supprimer tous les fichiers ci-dessus rm -f *
, puis copiez tous les fichiers du répertoire /fastdfs/conf dans le répertoire /etc/fdfs. 🎜🎜 🎜🎜 Remarque : /fastdfs/conf est le répertoire fastdfs décompressé 🎜🎜 3. Configurez et démarrez le serveur de tracker 🎜🎜 Ouvrez le fichier tracker.conf
vim ./tracker.conf
et modifiez-le. Changez le chemin base_path vers votre propre répertoire. Si le port et autres ne sont pas occupés, ne le modifiez pas🎜🎜🎜🎜 Une fois la modification terminée, essayez de démarrer tracker /usr/bin/fdfs_trackerd /etc. /fdfs/tracker.conf start
🎜🎜Remarque : Le chemin base_path doit être créé à l'avance, sinon une erreur sera signalée : information d'erreur : aucun fichier ou répertoire de ce type🎜🎜 Après avoir exécuté la commande, il est trouvé qu'il n'y a pas de réponse, puis utilisez la commande netstat -unltp|grep fdfs
pour voir s'il faut démarrer 🎜🎜 🎜🎜 Vous pouvez voir que le serveur de suivi écoute déjà sur le port 22122🎜🎜 4. Configurez et démarrez le serveur de stockage🎜🎜 Ensuite, modifiez le fichier de configuration storage.conf vim storage.conf
Après avoir ouvert le fichier, modifiez base_path de la même manière, et modifiez l'adresse du serveur de suivi et store_path. en même temps. L'adresse du port et le nom du groupe restent inchangés. 🎜
adresse du serveur de suivi :
adresse du chemin du magasin :
Remarque : veuillez définir l'adresse du serveur de suivi ci-dessus sur l'adresse correspondante du serveur. Si le port n'est pas modifié, conservez-le par défaut.
Si le chemin store_path n'est pas modifié, le service du serveur de stockage ne sera pas démarré. Il n'y aura aucune invite. Vous pouvez ouvrir le fichier store.log dans le dossier /fastdfs/logs pour afficher le message d'erreur.
OK, une fois la modification terminée, démarrez le stockage, /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
, mais il n'y a pas non plus de réponse. Utilisez ensuite la commande netstat -unltp|grep fdfs
pour voir s'il est démarré/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
,同样也是没有任何反应。接着使用命令 netstat -unltp|grep fdfs
看看是否启动
出现上图的情况,说明tracker server、storage server已经成功启动。
5.测试上传服务
接下来打开client.conf配置文件 vim client.conf
,只需要修改base_path和tracker_server两个地方即可。
当修改完成之后,试试能否上传文件,刚好目录有一张图片
使用命令将图片上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg
当看到上面一长串的字符,ok 上传成功了。并成功返回了 图片地址。到存储目录下看看,发现多出了几张图片。其中一张图片和商品图片地址后缀一样,那么文件已经存储到本地。
虽然返回图片地址,但是现在的fastdfs已经不支持http协议。在4.0.5版本时候已经移除了 http支持,因此不能直接通过图片地址访问。所有我们通过fastdfs模块整合nginx,以提供http服务。
四.整合nginx和fastdfs
1. 整合模块
此处假设你已经安装过nginx及其依赖包,如果还没有安装nginx可以看我另一个文章:centos7 安装nginx
整合nginx不需要安装fastdfs模块,在配置nginx时候将fastdfs-nginx-module
vim client.conf
, et il vous suffit de modifier base_path et tracker_server. Une fois la modification terminée, essayez de télécharger le fichier. Il se trouve qu'il y a une image dans le répertoire
Utilisez la commande pour télécharger des images
./configure --prefix=/opt/nginx --with-pcre=/home/mgame/soft/pcre-8.41 --with-openssl=/home/mgame/soft/openssl-1.1.0f --with-zlib=/home/mgame/soft/zlib-1.2.11 --add-module=/home/mgame/soft/fastdfs-nginx-module/src
Bien que l'adresse de l'image soit renvoyée, les fastdfs actuels ne prennent plus en charge le protocole http. La prise en charge http a été supprimée dans la version 4.0.5, elle n'est donc pas accessible directement via l'adresse de l'image. Nous intégrons tous nginx via le module fastdfs pour fournir des services http.
4. Intégrez nginx et fastdfs
1. Module d'intégration
On suppose ici que vous avez déjà installé nginx et ses packages dépendants. Si vous n'avez pas encore installé nginx, vous pouvez lire mon. autre article : installation de centos7 nginx
L'intégration de nginx ne nécessite pas l'installation du module fastdfs. Ajoutez simplement le module fastdfs-nginx-module
lors de la configuration de nginx. Commençons par configurer nginx, entrez le fichier de configuration dans le répertoire nginx
location /group1/m00 { ngx_fastdfs_module; }
Compile make
Install make install🎜🎜 Si l'erreur suivante se produit pendant le processus d'installation, veuillez vérifier le fichier d'installation dans le module et les exigences pour le version fastdfs (la première partie Il a été indiqué que la version fastdfs de cet article doit être >= 5.11). 🎜🎜 erreur : 'fdfshttpparams' n'a aucun membre nommé 'support_multi_range'(pcontext->range_count > 1 && !g_http_params.support_multi_range))🎜🎜🎜🎜🎜Après avoir ajouté le module à nginx et l'avoir installé, accédez à l'installation de nginx répertoire Dans /opt/nginx/conf, ouvrez le fichier de configuration nginx.conf. 🎜🎜🎜🎜🎜 Remarque : Le répertoire nginx ici est défini lors de la configuration de nginx. Veuillez ouvrir le fichier en fonction des paramètres respectifs. 🎜🎜 Ajoutez la configuration suivante au fichier, en laissant les autres paramètres de port inchangés. 🎜rrreee🎜🎜🎜🎜 Remarque : il doit y avoir une barre oblique devant /group, sinon lors de l'accès, le chemin racine sera le répertoire d'installation de nginx. 🎜🎜 2. Configurer les paramètres du module🎜🎜 Une fois les paramètres terminés, si vous démarrez nginx directement maintenant, vous constaterez que vous ne pouvez toujours pas accéder à l'adresse de l'image qui a été téléchargée avec succès auparavant. Quand j'étais perplexe, je pensais que nginx avait un dossier de journaux pour enregistrer des détails tels que la connexion et les messages d'erreur. 🎜🎜 Ensuite, ouvrez le fichier error.log et jetez-y un œil. ok j'ai trouvé le problème🎜🎜🎜🎜Il y a deux erreurs évidentes. La première ligne explique la cause de l'erreur : file /etc/fdfs/mod_fastdfs.conf not exist Le fichier mod_fastdfs.conf n'existe pas dans le répertoire /etc/fdfs/. Le fichier est dans le répertoire src du module fastdfs-nginx-module
Maintenant que l'emplacement du fichier est trouvé, allez dans le répertoire /fastdfs-nginx-module/src
et copiez le fichier mod_fastdfs.conf
Copiez dans le répertoire /etc/fdfs/ Commande : cp mod_fastdfs.conf /etc/fdfs/
/fastdfs-nginx-module/src
目录下,将文件 mod_fastdfs.conf
复制到 /etc/fdfs/ 目录下 命令: cp mod_fastdfs.conf /etc/fdfs/
操作完成之后,打开刚刚拷贝的mod_fastdfs.conf 配置文件 vim mod_fastdfs.conf ,分别tracker_server、url_have_group_name、store_path0三个属性的参数
tracker_server:
url_have_group_name:
注:因为访问的地址中包含了组名group1,如果生成的地址中不包含组名,可以不用设置。
store_path0:
修改完成之后,进入 /opt/nginx/sbin
目录下,重新启动nginx ./nginx -s reload
tracker_server:
#🎜 🎜#
url_have_group_name:#🎜 🎜##🎜🎜##🎜🎜##🎜🎜# Remarque : étant donné que l'adresse consultée contient le nom du groupe group1, si l'adresse générée ne contient pas le nom du groupe, il n'est pas nécessaire de réglez-le. #🎜🎜##🎜🎜# Store_path0:#🎜🎜##🎜🎜##🎜🎜##🎜🎜# Une fois la modification terminée, entrez dans le répertoire /opt/nginx/sbin
et redémarrez nginx. /nginx -s reload
, puis visitez l'adresse de l'image renvoyée après un téléchargement réussi. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜# Après la configuration, vous pouvez accéder avec succès aux fichiers stockés dans fastdfs. #🎜🎜#Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!