Heim >Backend-Entwicklung >PHP-Tutorial >Zeichnen Sie den Verarbeitungsprozess eines bestimmten PHP-Hintergrundsystems auf, bei dem keine Bilder hochgeladen werden können

Zeichnen Sie den Verarbeitungsprozess eines bestimmten PHP-Hintergrundsystems auf, bei dem keine Bilder hochgeladen werden können

藏色散人
藏色散人nach vorne
2021-12-13 15:03:103724Durchsuche

Hintergrundsituation

Es gibt keinen Betriebs- und Wartungsbeitrag, der Server nutzt das Pagoden-Panel einheitlich

Verarbeitungsprozess

Machen Sie sich bereit, zum Server (Hintergrund des Pagoden-Panels) zu gehen, um sich den Fehler anzusehen Melden Sie sich an, geben Sie die Kontonummer und das Passwort ein und drücken Sie die Eingabetaste. Nach erfolgreicher Anmeldung wurde ich zur Anmeldeseite weitergeleitet. Ich habe einen Browser, den ich nur zum Anzeigen des Produktionsservers verwende, und die gleiche Situation ist aufgetreten .ssh hat sich erfolgreich am Server angemeldet, df -h Auf den ersten Blick, meine Liebe, ist die Systemfestplatte 100 % (die Systemfestplatte ist nur 20 GB groß), das Problem wurde gefunden

    Ich werde zuerst den Papierkorb leeren, es gibt nichts im Verzeichnis /www/Recycle_bin/
  • Führen Sie den du -h --max- Depth=1aus > Befehl im Stammverzeichnis, um zu sehen, welcher Ordner mehr Speicherplatz beansprucht, Verzeichnis /www/wwwlogs/ Das Nginx-Protokoll unter den Download-Konten für etwa 13 GB. Ich habe mehrere Protokolldateien mit mehr als 1 GB gefunden und gelöscht rm -rf xxx.log Der Hintergrund des Anmeldefensters ist immer noch derselbe wie zuvor. df -h Ich habe festgestellt, dass die Systemfestplatte immer noch zu 100 % belegt ist, die Datei gelöscht wurde und der Speicherplatz nicht wiederhergestellt wurde
  • 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.extDer Grund dafür ist, dass Linux beim Löschen einer Datei nur löscht Ein Systemzeiger auf die Datei. Solange der Prozess die Datei verwendet, ist die Datei immer vorhanden. Sie können lsof |. grep delete verwenden, um den entsprechenden Prozess zu finden und dann kill, oder Sie können den entsprechenden Dienst direkt neu starten.

Führen Sie den Befehl /etc/init.d/nginx reload aus, um den Nginx-Dienst neu zu laden und festzustellen, dass der verbleibende Speicherplatz normal ist und die Test-Upload-Funktion normal ist.

Ich habe später zwei Dinge getan: Zum einen habe ich einen Teil der Anforderungsprotokolle bereinigt und zum anderen habe ich eine Aufgabe zur regelmäßigen Protokollbereinigung erstellt. 🎜🎜🎜🎜🎜Eine bessere Möglichkeit zum Löschen Dateien mehr Eine gute Möglichkeit wäre echo '' > file.ext, um direkt zu überschreiben und zu schreiben. 🎜                                                                                                                                   

Das obige ist der detaillierte Inhalt vonZeichnen Sie den Verarbeitungsprozess eines bestimmten PHP-Hintergrundsystems auf, bei dem keine Bilder hochgeladen werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen