Maison  >  Article  >  développement back-end  >  Enregistrez le processus de traitement d'un certain système d'arrière-plan PHP où les images ne peuvent pas être téléchargées

Enregistrez le processus de traitement d'un certain système d'arrière-plan PHP où les images ne peuvent pas être téléchargées

藏色散人
藏色散人avant
2021-12-13 15:03:103682parcourir

Situation de fond

Il n'y a pas de poste d'exploitation et de maintenance, le serveur utilise le panneau Pagoda de manière uniforme

Processus de traitement

Préparez-vous à aller sur le serveur (arrière-plan du panneau Pagoda) pour regarder l'erreur connectez-vous, entrez le numéro de compte et le mot de passe et appuyez sur Entrée, invitez-vous. Après m'être connecté avec succès, j'ai été redirigé vers la page de connexion. J'ai changé plusieurs navigateurs (j'ai un navigateur que j'utilise uniquement pour afficher le serveur de production) et la même situation s'est produite. . ssh connecté avec succès au serveur, df -h À première vue, ma chère, le disque système est à 100% (le disque système ne fait que 20G), le problème a été trouvé

    Je vais d'abord vider la corbeille, il n'y a rien dans le répertoire /www/Recycle_bin/
  • Exécuter le du -h --max-degree=1 commande dans le répertoire racine pour voir quel dossier prend le plus d'espace, répertoire /www/wwwlogs/ Le journal nginx sous le téléchargement représente environ 13 Go. J'ai trouvé plusieurs fichiers journaux dépassant 1 Go et je les ai supprimés avec. rm -rf xxx.log. L'arrière-plan du panneau de connexion est toujours le même qu'auparavant. df -h J'ai trouvé que le disque système est toujours occupé à 100 %, le fichier a été supprimé et l'espace n'a pas été récupéré
  • df -h 一看,好家伙,系统盘 100%(系统盘只有 20G),问题找到了

  • 准备把回收站先清空一下,/www/Recycle_bin/ 目录下啥都没有

  • 在根目录下执行 du -h --max-depth=1 命令,看一下哪个文件夹占用比较多,/www/wwwlogs/ 目录下的 nginx 的日志占了有 13G 左右

  • 找了几个超过 1G 的日志文件,rm -rf xxx.log 删除,登录面板后台还是跟之前一样的情况。df -h 发现系统盘还是 100% 占用,文件被删了,空间没回来

  • 原因是 linux 删除文件时,只是删除了系统对于文件的一个指针,如果还有进程在使用该文件,那么文件就会一直存在。可以使用 lsof | grep delete 查找对应的进程然后 kill,也可以直接重启对应的服务。

  • 执行 /etc/init.d/nginx reload 命令重载 nginx 服务后发现剩余空间正常了,测试上传功能正常了。

  • 后续还做了两件事,一是清理了一部分请求日志,二是建了一个日志定时清理的任务

更好的删除方式

删除大文件更好的方式应该是 echo '' > file.extLa raison est que lorsque Linux supprime un fichier, il supprime uniquement un pointeur système vers le fichier. S'il existe toujours. Tant que le processus utilise le fichier, le fichier existera toujours. Vous pouvez utiliser lsof | grep delete pour trouver le processus correspondant puis kill, ou vous pouvez directement redémarrer le service correspondant.

Exécutez la commande /etc/init.d/nginx reload pour recharger le service nginx et constatez que l'espace restant est normal et que la fonction de téléchargement de test est normale.

J'ai fait deux choses plus tard, l'une consistait à nettoyer une partie des journaux de requêtes et l'autre était de créer une tâche de nettoyage régulier des journaux🎜🎜🎜🎜🎜Meilleure façon de supprimer 🎜🎜Supprimer des fichiers volumineux files more Un bon moyen serait de echo '' > file.ext pour écraser et écrire directement. 🎜                                                                                                                                              

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer