Maison > Opération et maintenance > Nginx > Comment implémenter la configuration de coupe de journaux Nginx

Comment implémenter la configuration de coupe de journaux Nginx

WBOY
Libérer: 2023-11-08 12:48:21
original
1514 Les gens l'ont consulté

Comment implémenter la configuration de coupe de journaux Nginx

Comment implémenter la configuration de coupe de journaux Nginx, des exemples de code spécifiques sont requis

Nginx est un serveur Web hautes performances et un serveur proxy inverse très populaire qui est largement utilisé pour créer et exécuter des applications modernes. En tant qu'ingénieur d'exploitation et de maintenance, nous devons souvent configurer la fonction de coupe de journaux du serveur Nginx afin que les journaux du serveur puissent être coupés régulièrement afin d'éviter qu'un excès de fichiers journaux n'affecte les performances du serveur. Ce qui suit présentera comment implémenter la configuration de coupe de journaux Nginx et donnera des exemples de code spécifiques.

1. Pourquoi devez-vous configurer la coupe des journaux ?

Le serveur Nginx écrit par défaut tous les journaux d'accès et les journaux d'erreurs. À mesure que le nombre de visites augmente, les fichiers journaux deviendront progressivement énormes, et ne se contenteront pas de prendre de l'ampleur. beaucoup d'espace disque et l'efficacité sera également réduite lors de la recherche d'informations de journal spécifiques. Afin de résoudre ce problème, nous devons régulièrement couper les journaux Nginx, couper les fichiers journaux en fonction d'une certaine taille ou d'un certain intervalle de temps, et archiver ou supprimer les anciens fichiers journaux pour maintenir les performances et la gérabilité du serveur.

2. Comment configurer la coupe de journaux Nginx

  1. Installer l'outil logrotate

logrotate est un outil de coupe de journaux couramment utilisé qui peut être utilisé pour couper, archiver et supprimer automatiquement divers fichiers journaux. Tout d’abord, nous devons installer l’outil logrotate sur le serveur. Si votre serveur utilise un système Debian/Ubuntu, vous pouvez utiliser la commande suivante pour l'installer :

sudo apt-get install logrotate
Copier après la connexion

Si votre serveur utilise un système CentOS/RHEL, vous pouvez utiliser la commande suivante pour l'installer :

sudo yum install logrotate
Copier après la connexion
  1. Créer un journal fichier de configuration de coupe

Ensuite, nous devons créer un fichier de configuration de coupe de journal Nginx pour définir les règles de coupe et les opérations à effectuer. Normalement, les fichiers journaux Nginx se trouvent dans le répertoire /var/log/nginx/ Nous pouvons créer un fichier nommé nginx.logrotate dans ce répertoire et modifier la configuration suivante : /var/log/nginx/目录下,我们可以在该目录下创建一个名为nginx.logrotate的文件,并编辑如下配置:

/var/log/nginx/*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 0644 nginx nginx
    sharedscripts
    postrotate
        /usr/sbin/nginx -s reopen
    endscript
}
Copier après la connexion

上述配置中,各个参数的含义如下:

  • daily:按照每天的时间间隔进行切割;
  • missingok:如果日志文件不存在,则不报错;
  • rotate 7:保留最近7个切割后的日志文件,旧的日志文件会被删除;
  • compress:对切割后的日志文件进行压缩;
  • delaycompress:延迟压缩,即在下一次切割时再进行压缩;
  • notifempty:如果切割后的日志文件为空,则不执行任何操作;
  • create 0644 nginx nginx:创建新的日志文件时,设置权限为0644,所有者和组为nginx;
  • sharedscripts:在执行切割脚本之前只执行一次脚本;
  • postrotateendscript:在切割完成后执行的脚本,将Nginx服务器重新打开日志文件。
  1. 测试日志切割配置

完成配置文件的编写后,可以使用以下命令进行日志切割的测试:

sudo logrotate -f /etc/logrotate.d/nginx.logrotate
Copier après la connexion

执行上述命令后,logrotate将会按照配置文件的规则对Nginx的日志文件进行切割。你可以通过ls命令查看/var/log/nginx/目录下的日志文件,看是否按照规则进行了切割和压缩。

  1. 设置logrotate的定时任务

为了实现自动的日志切割功能,我们需要将logrotate的执行任务加入到系统的定时任务中。可以编辑/etc/crontab

0 0 * * * root /usr/sbin/logrotate -f /etc/logrotate.d/nginx.logrotate
Copier après la connexion
Dans la configuration ci-dessus, la signification de chaque paramètre est la suivante :

    daily : Couper selon les intervalles de temps quotidiens

    missingok : Si le fichier journal n'existe pas, aucune erreur ne sera signalée ;

    rotation 7 : conservez les 7 derniers fichiers journaux coupés, et les anciens fichiers journaux seront supprimés 🎜🎜compresser ; code> : compresse le fichier journal de coupe ; 🎜🎜<code>delaycompress : retarde la compression, c'est-à-dire compresse la coupe suivante ; 🎜🎜notifempty : si le fichier journal de coupe est le cas ; vide, aucune opération ne sera effectuée ; 🎜🎜create 0644 nginx nginx : lors de la création d'un nouveau fichier journal, définissez l'autorisation sur 0644, le propriétaire et le groupe sur 🎜🎜sharedscripts ; code> code> : Exécutez le script une seule fois avant d'exécuter le script de découpe ; 🎜🎜<code>postrotate et endscript : Scripts exécutés une fois la découpe terminée pour rouvrir le fichier journal du Serveur Nginx. 🎜
    🎜Testez la configuration de la coupe du journal🎜🎜🎜Après avoir terminé l'écriture du fichier de configuration, vous pouvez utiliser la commande suivante pour tester la coupe du journal : 🎜rrreee🎜Après avoir exécuté ce qui précède commande, logrotate suivra Les règles du fichier de configuration coupent les fichiers journaux Nginx. Vous pouvez utiliser la commande ls pour afficher les fichiers journaux dans le répertoire /var/log/nginx/ afin de voir s'ils ont été coupés et compressés conformément aux règles. 🎜
      🎜Définir la tâche planifiée de logrotate🎜🎜🎜Afin de réaliser la fonction de coupe automatique des journaux, nous devons ajouter la tâche d'exécution de logrotate à la tâche planifiée du système. Vous pouvez éditer le fichier /etc/crontab et ajouter la ligne suivante : 🎜rrreee🎜De cette façon, à minuit tous les jours (0 heures, 0 minutes), logrotate effectuera une opération de découpe de journal. 🎜🎜Résumé🎜🎜Il est très nécessaire de configurer la fonction de coupe de journaux de Nginx, qui peut maintenir les performances et la gérabilité du serveur. En installant l'outil logrotate, en créant un fichier de configuration de coupe de bûches et en configurant des tâches planifiées, vous pouvez réaliser la fonction de coupe automatique de bûches. J'espère que les exemples de code spécifiques fournis dans cet article pourront vous aider à implémenter la configuration de coupe de journaux Nginx. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal