NginX Günlük Döndürme


9

Aynı sunucuda NginX üzerinden birkaç farklı alan adı sunuyorum ve her biri kendi dosyalarına kaydediyor. Döndürmek ve bu dosyaları sıkıştırmak ve cron eklemek için bir komut dosyası ayarlamanız gerekir.

Eskisini taşıdıktan sonra NginX'in yeni bir günlük dosyasını açmasını sağlamak için bir şeyler yapmam gerektiğini biliyorum. Birisi bana nginx günlük dosyalarını güvenli bir şekilde döndürme prosedürünü verebilir mi? Logrotate kullanmam gerektiğini tahmin ediyorum, nasıl yapılandırabilirim?

Sistem:

  • Ubuntu 9.04 sunucusu ed.
  • nginx / 0.7.61

Yanıtlar:


18

Unix cinleri arasında, bir hangup sinyali ( SIGHUP) gönderdiğinizde, günlük dosyalarını temizledikleri ve / veya döndürdükleri bir tür gayri resmi yarı standart haline geldi . Nginx bu kurala uymaz, ancak USR1Sinyalin Log Rotation başlığı altında Nginx web sitesinde belgelendiği gibi sinyale aynı şekilde yanıt verir .

Yani, şöyle bir şey deneyebilirsiniz

kill -s USR1 `pidof nginx`

1
başka bir yol, "pkill -USR1 -n -x nginx"
Palani

11

loggining nginx günlükleri:

# nginx SIGUSR1: Re-opens the log files.
/opt/nginx/logs/access.log {
  missingok
  notifempty
  delaycompress
  sharedscripts
  postrotate
    test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
 endscript 
}

/opt/nginx/logs/error.log {
  missingok
  notifempty
  delaycompress
  sharedscripts
  postrotate  
    test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
  endscript
}

logrotating rayları üretim günlüğü:

/home/app_user/apps/railsapp/log/production.log {
  missingok
  notifempty
  delaycompress
  sharedscripts
  postrotate
    test ! -f /opt/nginx/logs/nginx.pid || kill -USR1 `cat /opt/nginx/logs/nginx.pid`
  endscript
}

Bunu hangi dosyaya koymalıyım?
Emil Stenström

ubuntu kullanıyorsanız, bu dosyanın bir kod bu satırları koymak gerekir: /etc/logrotate.d/nginx. ve yürürlüğe girecek.
Siwei Shen 申思维

3

Logrotate kullanıyorsanız, nginx'in logrotate.conf bölümüne aşağıdakileri (doğru konumla) ekleyin:

postrotate
  kill -s USR1 `cat /location/of/nginx.pid`
endscript

Göre logrotate (8) kılavuz sayfasına

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.