Günlük adındaki değişkenler - nginx


12

Nginx aşağıdaki varsayılan sunucu kurulum var:

# Default HTTP Server
server {
  listen 80 default;
  server_name _;
  access_log /var/log/nginx/$server_name.access.log;
  error_log /var/log/nginx/$server_name.error.log;

  server_name_in_redirect off;

  location / {
    root   domain.com/public;
    index  index.php;
    try_files $uri index.php;
  }

  location ~     \.(html|jpg|jpeg|gif|png|ico|css2|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
    root /path/to/domain.com/public;
    expires 30d;
    break;
  }

  charset utf-8;

  location ~ \.php$ {
    include /opt/nginx/conf/fastcgi_params;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  /path/to/domain.com/public/index.php;   
  }

  location ~ \.(js|ico|gif|jpg|png|css)$ {
    root /path/to/domain.com/public;
  }
}

Sunucuya işaret eden birkaç etki alanım var. Burada yapmaya çalıştığım şey, ya günlük biçiminde /var/log/nginx/mydomain.com/access.logveya/var/log/nginx/mydomain.com.access.log

Bunun yerine, alıyorum /var/log/nginx/$server_name.access.log.

Dizin yöntemini denersem yapılandırmayı kontrol ederken bir hata alıyorum nginx: [emerg] open() "/var/log/nginx/$server_name/access.log" failed (2: No such file or directory)

Nginx neden değişkeni dosya adına geçirmiyor?

Nginx / 1.0.0 kullanma


Hangi sürümü kullanıyorsunuz? Günlük dosya adlarındaki değişkenlere yalnızca 0.7.4'ten beri izin verilir. wiki.nginx.org/HttpLogModule
Frank Farmer

3
ve o zaman bile, sadece access_log içinde. Error_log dosyasında değişkenlere hala izin verilmiyor. $ server_name da muhtemelen aradığınız değişken değildir, çünkü sizin durumunuzda her zaman '_' değerine genişler. Muhtemelen gerçekten $ host arıyorlardı.
kolbyjack

1.0.0 kullanıyorum ve $ host işaretçi için teşekkürler - ben bunu yapmaya çalışıyordu. Ayrıca, Sunucu Hatası olduğunu bilmiyordum - zihin şişmiş, geçiş için teşekkürler.
Mehdi.Montgomery

1
bu son sürümlerde mümkün değil mi?
snh_nl

Yanıtlar:


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.