Nginx लॉगिंग को अक्षम कैसे करें?


27

मैं विन्यास फाइल में निम्नलिखित है

server {
    listen       80;
    server_name  _;
    access_log  /var/log/nginx/access.log  main;
  ...

server {
    listen       80;
    server_name  example.com
    access_log  off;
    error_log off;

लेकिन यह अभी भी example.comवर्चुअल होस्ट के लिए लॉगिंग है । मैं क्या गलत कर रहा हूं?


आप यहाँ करने के लिए "मुख्य" क्या चाहते हैं?
इवान कैरोल

मैंने इस प्रश्न को हटाने के लिए ध्वजांकित किया है, क्योंकि सबसे अधिक उत्तर दिए गए उत्तर को आपके सिंटैक्स-त्रुटि के साथ करना है। त्रुटि लॉगिंग को बंद करने से इसका कोई लेना-देना नहीं है। इसमें कोई खोज योग्य त्रुटि संदेश नहीं है, और मुझे यकीन नहीं है कि आप क्या पूछ रहे हैं या प्रदान किए गए उत्तर आपकी समस्या का समाधान क्यों नहीं करते हैं।
इवान कैरोल

जवाबों:


31

आप ;server_name निर्देश के बाद गायब हैं । access_logऔर offअतिरिक्त server_names के रूप में माना जा रहा है।


12
इसके अलावा, error_log बंद; त्रुटि लॉगिंग बंद नहीं करता है। यह सिर्फ 'ऑफ' नामक फ़ाइल में त्रुटियों को लॉग करता है। त्रुटि लॉगिंग को पूरी तरह से अक्षम करने का कोई तरीका नहीं है, आप जो निकटतम प्राप्त कर सकते हैं वह error_log / dev / null crit है; जो लगभग एक ही बात है, क्योंकि कोई त्रुटि लॉग दिखाई नहीं देगा।
कोलबिजैक

6
दरअसल, access_log off;नगीनक्स को लॉग को फाइल में लिखने का कारण बनता है off। तो यह सही उत्तर नहीं है।
user965363

4
दरअसल, यह सही जवाब है। एकमात्र पैरामीटर के रूप में "बंद" का उपयोग करना वर्तमान स्तर के लिए सभी एक्सेस_लॉग निर्देशों को साफ करता है: wiki.nginx.org/HttpLogModule#access_log । यह error_log (जैसा कि @kolbyjack द्वारा जोड़ा गया है) के लिए सही नहीं है, लेकिन मेरा मानना ​​है कि सवाल एक्सेस के बारे में था, न कि एरर लॉग। यह संभव है कि nginx के कुछ बहुत पुराने संस्करण इसका समर्थन न करें।
आरवीएस

के offबजाय का उपयोग करने के लिए एक फायदा है /dev/null? यदि offNginx के कुछ संस्करण नाम की फ़ाइल में लिखते हैं off, तो /dev/nullएक अधिक सार्वभौमिक समाधान की तरह लगता है।
जो मोर्निन

20

बेशक आप लॉगिंग को पूरी तरह से अक्षम कर सकते हैं। बस logfiles को / dev / null को इंगित करें और किया जाए। ;)

access_log  /dev/null;
error_log /dev/null;

3
मैं यह भी एक का उपयोग करें; /dev/nullएक वास्तविक गंतव्य है; जबकि "ऑफ़" कुछ डायरेक्टरी में एक फाइल है
edoceo

4
यह ऐसा करने का आधिकारिक अनुशंसा तरीका नहीं है। 'ऑफ' का उपयोग करना सही तरीका है।
user1751825

मैंने इसे बनाया / var / null और अब यह var निर्देशिका में "null" नाम की फ़ाइल में लॉग सहेजना शुरू करता है। क्या यह "/ देव / अशक्त" होना चाहिए?
गौरव

13

आप access_logका उपयोग करके अक्षम कर सकते हैं

access_log off;

लेकिन अगर आप error_log को अक्षम करना चाहते हैं, तो अपने कॉन्फ़िडेंस में error_log विकल्प का उपयोग न करें।


2
यह पहले के उत्तरों को कैसे जोड़ रहा है?
डेव एम

1
Cuz, पिछला जवाब अप्रयुक्त है! न उपयोग कि
मुस्तफा Özgür

2
यदि कॉन्फ़िगरेशन में "error_log लॉग / त्रुटि .log
Jul41 Ladisch

हाँ यार, यह सही है। तो, हमें / देव / अशक्त होना चाहिए या कुछ और? आपका क्या सुझाव है?
मुस्तफा Mustzgür

यह उत्तर गलत है क्योंकि यह एक लॉग फ़ाइल बनाएगा '/ usr / share / nginx / off'
DanielKhan

1

यह बहुत सरल होना चाहिए, आप लॉग लाइनों को टिप्पणी कर सकते हैं

server {
    listen       80;
    server_name  _;
    #access_log  /var/log/nginx/access.log  main;
  ...

server {
    listen       80;
    server_name  example.com
    #access_log  off;
    #error_log off;

और यदि आपको कोई क्रिटिकल त्रुटियां मिलती हैं, तो आपको इसे इस तरह करना चाहिए: _error_log / dev / null crit; a तो यह होगा:

server {
    listen       80;
    server_name  _;
    access_log  /dev/null crit;
  ...

server {
    listen       80;
    server_name  example.com
    access_log  /dev/null crit;
    error_log /dev/null crit;

'बंद' का उपयोग न करें। जैसा कि नीचे उल्लेख किया गया है, यह नगीनेक्स होम डायर में 'ऑफ' नामक एक लॉग फाइल बनाएगा।
डैनियलखान

0

Nginx पोस्ट में सशर्त लॉगिंग के आधार पर लेकिन अनुरोध को लॉग करने पर निर्धारित करने के लिए एक चर का उपयोग करने के बजाय, केवल 0 के निरंतर मूल्य का उपयोग करके।

server {
listen       80;
server_name  _;
access_log  /var/log/nginx/access.log  main;
}

server {
listen       80;
server_name  example.com
access_log  /var/log/nginx/access.log if=0;
error_log /var/log/nginx/error.log if=0;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.