nginx कुछ भी लॉग नहीं करता है


8

मैं एक FreeBSD 9-Stable सर्वर चला रहा हूं, nginx के साथ।
मेरा विन्यास यहाँ है:

user www www;
worker_processes 5;
error_log /var/log/nginx/nginx-error.log;
events {
    worker_connections 1024;
}
http {
    include mime.types;
    include fastcgi_params;
    index index.html index.htm index.php;
    default_type application/octet-stream;
    log_format   main '$remote_addr - $remote_user [$time_local]  $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
    sendfile on;
    autoindex  on;
    tcp_nopush on;
    tcp_nodelay on;
    ignore_invalid_headers on;
    gzip on;
    server {
        listen 127.0.0.1;
        server_name localhost;
        location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
        }
    }
    server {
        listen 80;
        server_name localhost cubox.me *.cubox.me;
        access_log /var/log/nginx/nginx-access.log main;
        root /var/www;
        location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
#            fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
        }
    }
    server {
        listen 443;
        server_name localhost cubox.me *.cubox.me;
        access_log /var/log/nginx/nginx-access.log main;
        ssl on;
        ssl_certificate server.crt;
        ssl_certificate_key server.key;
        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers RC4:HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        root /var/www;
        location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
        }
    }
    server {
        listen 80;
        server_name yk.cubox.me yubikey.cubox.me yubico.cubox.me;
        access_log /var/log/nginx/nginx-access.log main;
        location / {
            proxy_pass http://localhost:8000;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
    }
    server {
        listen 443;
        server_name yk.cubox.me yubikey.cubox.me yubico.cubox.me;
        access_log /var/log/nginx/nginx-access.log main;
        ssl on;
        ssl_certificate server.crt;
        ssl_certificate_key server.key;
        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers RC4:HIGH:!aNULL:!MD5; 
        ssl_prefer_server_ciphers on;
        location / {
            proxy_pass http://localhost:8001;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
    }
    server {
        listen 80;
        server_name munin.cubox.me;
        access_log /var/log/nginx/nginx-access.log main;
        root /var/www/munin;
    }
    server {
        listen 443;
        server_name munin.cubox.me;
        access_log /var/log/nginx/nginx-access.log main;
        ssl on;
        ssl_certificate server.crt;
        ssl_certificate_key server.key;
        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers RC4:HIGH:!aNULL:!MD5; 
        ssl_prefer_server_ciphers on;
        root /var/www/munin;
    }

}

वास्तव में, मेरी समस्या यह है कि मेरे पास कोई लॉग नहीं है! /var/log/nginx/nginx-access.log या -error.log खाली हैं। सर्वर चल रहा है, कॉन्फिगर एडिट के बाद रीस्टार्ट किया गया है।

drwxr-xr-x  27 root  wheel       512 31 déc 14:45 var
drwxr-xr-x   6 root        wheel    1,5k  1 jan 22:41 log
drwxr-xr-x  2 www     www       512B  1 jan 21:28 nginx
-rw-r--r--  1 www  www  0  1 jan 21:28 nginx-access.log
-rw-r--r--  1 www  www  0  2 déc 16:48 nginx-error.log

दोनों फाइलें nginx द्वारा नहीं लिखी गई हैं, लेकिन उपयोगकर्ता www की उन तक पहुंच है।

╭─<root@Dragonborn>-</var/log/nginx>-<22:44:38>-◇
╰─➤ ps aux | grep nginx
root         29015  0,0  0,0  29140    16 ??  Is    6déc12     0:00,01 nginx: master process /usr/local/sbin/nginx
www          29016  0,0  0,2  29140  3300 ??  R     6déc12     2:56,20 nginx: worker process (nginx)
www          29017  0,0  0,1  29140  2692 ??  S     6déc12     3:04,70 nginx: worker process (nginx)
www          29018  0,0  0,2  29140  3224 ??  R     6déc12     3:06,69 nginx: worker process (nginx)
www          29019  0,0  0,1  29140  3008 ??  S     6déc12     2:54,06 nginx: worker process (nginx)
www          29020  0,0  0,1  29140  3032 ??  S     6déc12     2:53,29 nginx: worker process (nginx)

सर्वर में कोई अन्य समस्या नहीं है, और ठीक चल रहा है।

जवाबों:


11

मुझे लगता है कि समस्या इस सेटिंग से आ सकती है:

server {
    listen 127.0.0.1;
    server_name localhost;
    location /nginx_status {
    stub_status on;
>>>>access_log off; <<<<<<<<<<<<<<<< You are setting them to be off
    allow 127.0.0.1;
    deny all;
}

हे भगवान। दरअसल, कोड का यह हिस्सा सभी लॉग को अक्षम कर देता है। मैं अब केवल स्थिति के लिए लॉग को कैसे निष्क्रिय कर सकता हूं?
क्यूबॉक्स

मुझे कहना होगा कि मुझे नहीं पता कि यह सभी लॉग को ब्लॉक क्यों करता है ... यदि आप इसे सेट नहीं करते हैं तो क्या होता है? यह आपके 'स्टेटस' सर्वर के लिए कुछ भी लॉग इन नहीं करना चाहिए क्योंकि इसमें कोई डिफॉल्ट्स सेटिंग्स नहीं हैं और इसे अन्य सभी लॉग्स को चलने देना चाहिए।
No_or_yes

0

मुझे वही स्पष्ट समस्या थी, क्योंकि मैं vim /var/log/nginxएक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में कोशिश कर रहा था । मुझे लॉग देखने के लिए एक सुपरसूस बनने की आवश्यकता है:

sudo -s
vim /var/log/nginx/error.log
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.