লগ নামে পরিবর্তনীয় - nginx


12

Nginx এ আমার নিম্নলিখিত ডিফল্ট সার্ভার সেটআপ রয়েছে:

# 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;
  }
}

আমার বেশ কয়েকটি ডোমেন সার্ভারের দিকে নির্দেশ করছে। আমি কি এখানে সাধন করার চেষ্টা করছি পারেন এর বিন্যাসে লগ থাকতে হয় /var/log/nginx/mydomain.com/access.logবা/var/log/nginx/mydomain.com.access.log

পরিবর্তে, আমি পাচ্ছি /var/log/nginx/$server_name.access.log

আমি যদি ডিরেক্টরি পদ্ধতিটি চেষ্টা করি তবে কনফিগারটি পরীক্ষা করার সময় আমি একটি ত্রুটি পাই get nginx: [emerg] open() "/var/log/nginx/$server_name/access.log" failed (2: No such file or directory)

কেন এনজিনেক্স ফাইলের পরিবর্তনে ভেরিয়েবলটি পাস করছে না?

Nginx / 1.0.0 ব্যবহার করে


তুমি কোন ভার্সন চালাচ্ছ? লগ ফাইলের নামগুলিতে ভেরিয়েবলগুলি কেবল 0.7.4 থেকে অনুমোদিত। wiki.nginx.org/HttpLogModule
ফ্র্যাঙ্ক

3
এবং তারপরেও, কেবল অ্যাক্সেস_লগে। ভেরিয়েবলগুলি ত্রুটি_লগে এখনও অনুমোদিত নয়। really সার্ভার_নাম সম্ভবত আপনি যে পরিবর্তনশীলটি সন্ধান করছেন তা সম্ভবত নয়, কারণ এটি সর্বদা আপনার ক্ষেত্রে '_' এ প্রসারিত হবে। আপনি সম্ভবত সত্যিই হোস্টের সন্ধান করছিলেন।
কলবিজ্যাক

আমি ১.০.০ ব্যবহার করছি এবং $ হোস্টের পয়েন্টারটির জন্য ধন্যবাদ - এটিই আমি অর্জন করার চেষ্টা করছিলাম। এছাড়াও, সার্ভার ফল্টের অস্তিত্ব জানতেন না - মাইন্ড ব্লোড হয়েছে, মাইগ্রেশনের জন্য ধন্যবাদ।
মাহদি.মন্টগোমেরি

1
আজকাল সর্বশেষ সংস্করণে এটি কি সম্ভব নয়?
snh_nl

উত্তর:


6

আপনার $hostচলকটি ব্যবহার করতে হবে - কেবল নির্দেশের জন্যaccess_log অনুমোদিত ।


2
আমি ধরে নেব ত্রুটি_লগের জন্য একটি ভেরিয়েবল পাস করার জন্য কোনও কাজের আশপাশ নেই .. যা খুব খারাপ।
মাহদি.মন্টগোমেরি

2
গিরিতে $hostপরিবর্তনশীল ব্যবহার করতে পারবেন নাaccess_log
সুপারহিরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.