Maison  >  Questions et réponses  >  le corps du texte

Quel est le principe d’écriture des fichiers logs dans Nginx ?

En coupant les fichiers journaux Nginx, j'ai découvert un problème étrange. Lorsque je déplace manuellement le fichier journal Nginx, si je ne recharge pas le fichier de configuration, Nginx continuera à écrire le fichier journal qui a été déplacé vers d'autres répertoires.
Nginx n'utilise-t-il pas le chemin du fichier lors de l'écriture des journaux ?
Pourquoi le fichier journal peut-il encore être écrit après avoir été déplacé ?

天蓬老师天蓬老师2712 Il y a quelques jours730

répondre à tous(3)je répondrai

  • PHP中文网

    PHP中文网2017-05-16 17:32:10

    Il s'agit d'une fonctionnalité du système de fichiers, quelque peu similaire au comptage de références dans un langage de programmation qui gère le cycle de vie des variables. Déplacez un fichier, ou même supprimez un fichier, tant que le fichier est toujours ouvert par un processus, le fichier est toujours accessible. Mais si toutes les « références » ont disparu, comme le nom du fichier, le lien physique et le descripteur de fichier (qui n'est plus ouvert par le programme), alors la prochaine référence au fichier sera affectée et elle apparaîtra comme « Fichier introuvable ». " ».

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-16 17:32:10

    Je pense que la raison est qu'une fois que nginx a ouvert le fichier journal, il est en fait identifié par l'inode dans le système. Le déplacement du fichier ne modifiera pas le numéro d'inode, donc le fichier continuera à être écrit.

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-16 17:32:10

    nginx met généralement en cache l'inode du fichier pour une vitesse plus rapide.

    répondre
    0
  • Annulerrépondre