Logging | Nginx
Isi kandungan:
- Mengkonfigurasi Log Akses
- Mengkonfigurasi Log Ralat
- Lokasi Fail Log
- Membaca dan Memahami Fail Log Nginx
- Kesimpulannya
Nginx adalah sumber terbuka, HTTP berprestasi tinggi dan pelayan proksi terbalik yang bertanggungjawab untuk mengendalikan beban beberapa laman web terbesar di Internet. Semasa mengurus pelayan web NGINX, salah satu tugas yang paling sering anda lakukan ialah menyemak fail log.
Mengetahui cara mengkonfigurasi dan membaca log adalah sangat berguna apabila menyelesaikan masalah pelayan atau aplikasi kerana mereka memberikan maklumat penyahtentuan terperinci.
Nginx menulis rekod peristiwanya dalam dua jenis log: log masuk dan log ralat. Log akses menulis maklumat mengenai permintaan klien, dan log kesalahan menulis maklumat tentang masalah pelayan dan aplikasi.
Artikel ini menggariskan cara mengkonfigurasi dan membaca log masuk dan ralat Nginx.
Mengkonfigurasi Log Akses
Apabila permintaan klien diproses, Nginx menghasilkan peristiwa baru dalam log akses. Setiap rekod acara mengandungi cap waktu dan termasuk pelbagai maklumat mengenai klien dan sumber yang diminta. Log akses boleh menunjukkan lokasi pengunjung, halaman yang mereka lawati, berapa banyak masa yang mereka belanjakan pada halaman, dan banyak lagi.
Arahan
log_format
membolehkan anda menentukan format mesej log. Arahan
access_log
membolehkan dan menetapkan lokasi fail log dan format yang digunakan.
Sintaks yang paling asas arahan
access_log
adalah seperti berikut:
access_log log_file log_format;
Di mana
log_file
adalah laluan penuh ke fail log, dan
log_format
adalah format yang digunakan oleh fail log.
Log masuk boleh didayakan sama ada dalam blok arahan
http
,
server
, atau
location
.
Secara lalai, log masuk didayakan secara global dalam arahan
http
di dalam fail konfigurasi Nginx utama.
http {… access_log /var/log/nginx/access.log;… }
Untuk pemeliharaan yang lebih baik, disyorkan untuk menetapkan fail log akses berasingan untuk setiap blok pelayan. Arahan
access_log
ditetapkan dalam arahan
server
mengatasi yang ditetapkan dalam arahan
http
(lebih tinggi).
http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }
Sekiranya tiada format log ditentukan Nginx menggunakan format gabungan yang dipratentukan yang kelihatan seperti ini:
log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
Untuk menukar format pembalakan sama ada mengatasi tetapan lalai atau mentakrifkan yang baru. Contohnya untuk menentukan format pembalakan baru yang dinamakan utama yang akan melanjutkan format gabungan dengan nilai yang menunjukkan tajuk
X-Forwarded-For
menambah takrifan berikut dalam arahan
http
atau
server
:
log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
Untuk menggunakan format baru, nyatakan namanya selepas fail log seperti ditunjukkan di bawah:
access_log /var/log/nginx/access.log custom;
Walaupun log akses menyediakan maklumat yang sangat berguna. ia mengambil ruang cakera dan boleh menjejaskan prestasi pelayan. Sekiranya pelayan anda rendah pada sumber dan anda mempunyai tapak web yang sibuk, anda mungkin mahu melumpuhkan log akses. Untuk melakukan itu, tetapkan nilai arahan
access_log
untuk
off
:
Mengkonfigurasi Log Ralat
Nginx menulis mesej mengenai aplikasi dan kesilapan pelayan umum dalam fail log ralat. Jika anda mengalami kesilapan dalam aplikasi web anda, log ralat adalah tempat pertama untuk memulakan untuk menyelesaikan masalah.
Directive
error_log
membolehkan dan menetapkan lokasi dan tahap keterukan log kesalahan. Ia mengambil bentuk berikut dan boleh ditetapkan dalam blok
http
,
server
, atau
location
:
error_log log_file log_level
Parameter
log_level
menetapkan tahap pembalakan. Di bawah adalah tahap yang disenaraikan oleh keterukan mereka (dari rendah ke tinggi):
-
debug- Menyahpepijat mesej.info- Mesej maklumat.notice- Notis.warn- Amaran.error- Kesilapan semasa memproses permintaan.crit- Masalah kritikal. Memerlukan tindakan segera.alert- Isyarat. Tindakan mesti diambil dengan serta-merta.emerg- Keadaan kecemasan. Sistem ini dalam keadaan yang tidak boleh digunakan.
Setiap tahap log termasuk peringkat yang lebih tinggi. Sebagai contoh, jika anda menetapkan tahap log untuk
warn
, Nginx juga akan log
error
,
crit
,
alert
, dan mesej
emerg
.
Apabila parameter
log_level
tidak ditentukan, ia gagal untuk
error
.
Secara lalai, arahan ralat_log ditakrifkan dalam arahan
http
di dalam fail nginx.conf utama:
http {… error_log /var/log/nginx/error.log;… }
Sama seperti log masuk, disyorkan untuk menetapkan fail log ralat berasingan bagi setiap blok pelayan, yang mengatasi tetapan yang diwarisi dari tahap yang lebih tinggi.
Sebagai contoh, untuk menetapkan log kesalahan domain.com untuk
warn
anda akan gunakan:
http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }
Apabila anda mengubah suai fail konfigurasi, anda perlu memulakan semula perkhidmatan Nginx untuk perubahan yang akan dilaksanakan.
Lokasi Fail Log
Secara lalai pada kebanyakan pengedaran Linux, seperti Ubuntu, CentOS, dan Debian, log masuk dan ralat berada di direktori
/var/log/nginx
.
Membaca dan Memahami Fail Log Nginx
Anda boleh membuka dan mengurai fail log menggunakan perintah standard seperti
cat
,
less
,
grep
,
cut
,
awk
, dan sebagainya.
Berikut ialah rekod contoh dari fail log akses yang menggunakan lalai menggabungkan format log Nginx:
192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
Mari kita memecahkan apa yang setiap bidang rekod bermakna:
-
$remote_addr-192.168.33.1- Alamat IP klien yang membuat permintaan.$remote_user--- Pengguna$remote_userHTTP. Apabila nama pengguna tidak ditetapkan, medan ini dipaparkan-. -- Masa pelayan tempatan."$request"-"GET /- Jenis permintaan, laluan dan protokol.$status-200- Kod tindak balas pelayan.$body_bytes_sent-396- Saiz sambutan pelayan dalam bait."$http_referer"-"-"- URL rujukan."$http_user_agent"-Mozilla/5.0…- Ejen pengguna klien (penyemak imbas web).
Gunakan arahan
tail
untuk menonton fail log secara real-time:
Kesimpulannya
Fail log memberikan anda maklumat berguna mengenai isu pelayan dan bagaimana pengunjung berinteraksi dengan laman web anda.
Nginx membolehkan anda mengkonfigurasi log akses dan ralat mengikut keperluan anda.
nginxPeriksa sambungan anda Kod ralat ialah 0x80072EFD - Ralat Windows Store
Jika anda menerima Periksa sambungan anda, Kod ralat 0x80072EFD, 80072EFF, 801901F7 mesej semasa membuka Windows 10 Store atau memuat turun atau mengemas kini aplikasi, lihat siaran ini.
Betulkan: Mesej ralat ralat Imej Chrome.exe
Saya menerima mesej ralat Imej Imej Chrome.exe. Chrome tidak akan memuatkan. Siaran ini menunjukkan kepada anda bagaimana untuk membetulkan ralat Imej Exe Chrome Bad ini.
Ralat 651, Modem (atau peranti penyambung lain) telah melaporkan ralat
, Modem (atau peranti penyambung lain) telah melaporkan ralat dalam Windows 10/8/7, cuba langkah-langkah penyelesaian masalah ini.







