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

โอ้พระเจ้า. แน่นอนส่วนหนึ่งของรหัสนี้ปิดการใช้งานบันทึกทั้งหมด ฉันจะปิดการใช้งานบันทึกสำหรับสถานะได้อย่างไรตอนนี้?
Cubox

ฉันต้องบอกว่าฉันไม่รู้ว่าทำไมมันปิดกั้นบันทึกทั้งหมด ... จะเกิดอะไรขึ้นหากคุณไม่ได้ตั้งค่า ไม่ควรบันทึกสิ่งใดสำหรับเซิร์ฟเวอร์ 'สถานะ' ของคุณเนื่องจากไม่มีการตั้งค่าเริ่มต้นและควรปล่อยให้บันทึกอื่น ๆ ทำงานต่อไป
No_or_yes

0

ฉันมีปัญหาที่ชัดเจนเหมือนกันเพราะฉันพยายามvim /var/log/nginxเป็นผู้ใช้ที่ไม่มีสิทธิ์ ฉันต้องการเป็น superuse เพื่อดูบันทึก:

sudo -s
vim /var/log/nginx/error.log
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.