


Analisis konfigurasi pemotongan log Nginx, pengurusan storan log laman web
Analisis konfigurasi pemotongan log nginx, pengurusan storan log laman web
Dalam proses pengendalian laman web, log adalah sangat penting. Ia boleh menyediakan rekod terperinci tentang status berjalan tapak web, membantu pembangun dan pentadbir menganalisis masalah dan mengoptimumkan prestasi. Walau bagaimanapun, apabila tapak web terus berkembang, fail log akan menjadi lebih besar dan lebih besar, yang akan mengenakan cukai kepada ruang storan dan prestasi pelayan. Untuk menyelesaikan masalah ini, kita boleh menggunakan fungsi pemotongan log Nginx untuk membahagikan fail log mengikut masa atau saiz, untuk mencapai pengurusan dan penyimpanan log yang berkesan.
Nginx ialah pelayan web berprestasi tinggi, dan fungsi serta tingkah lakunya boleh dilaraskan secara fleksibel melalui fail konfigurasi. Di bawah, kami akan menggunakan contoh mudah untuk menunjukkan cara mengkonfigurasi Nginx untuk melaksanakan pemotongan log.
Pertama, kita perlu menentukan format log dan laluan storan dalam fail konfigurasi Nginx. Dalam modul http
Nginx, anda boleh mentakrifkan format log dengan menambahkan kod berikut: http
模块中,可以通过添加以下代码来定义日志格式:
http { ... log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; ... }
在上述代码中,log_format
指令定义了一个名为access的日志格式,其中包含了一些常用的日志变量,如客户端IP地址、访问时间、请求URL、返回状态码等。
接下来,我们需要将这个日志格式应用到具体的访问日志中。在Nginx的server
块中,可以通过添加以下代码来指定访问日志的存储路径和格式:
server { ... access_log /var/log/nginx/access.log access; ... }
在上述代码中,access_log
指令指定了访问日志的存储路径和格式。其中,/var/log/nginx/access.log
为日志文件的存储路径,access
为之前定义的日志格式名称。
默认情况下,Nginx会把所有的访问日志写入到同一个文件中。但是,当这个文件变得非常大时,我们可能会希望将它拆分成多个小文件。为了实现这个功能,我们可以使用Nginx提供的logrotate
工具。
logrotate
是一个常用的日志切割工具,可以根据指定的规则来拆分日志文件。我们可以编写一个名为nginx
的配置文件,其中定义了Nginx访问日志的拆分规则。下面是一个示例:
/var/log/nginx/access.log { daily rotate 7 missingok notifempty compress postrotate /usr/sbin/nginx -s reopen endscript }
在上述代码中,/var/log/nginx/access.log
为需要被拆分的日志文件路径。daily
指定了按天拆分,rotate 7
表示保留7天的日志文件。missingok
表示如果日志文件不存在,也不报错。notifempty
表示如果日志文件为空,也不报错。compress
表示对新生成的日志文件进行压缩。postrotate
和endscript
之间的代码会在日志文件切割完成后执行,这里使用/usr/sbin/nginx -s reopen
来通知Nginx重新打开日志文件。
最后,我们需要将这个nginx
配置文件放置到/etc/logrotate.d/
目录下。logrotate
rrreee
log_format
mentakrifkan format log bernama access , yang mengandungi beberapa pembolehubah log yang biasa digunakan, seperti alamat IP klien, masa akses, URL permintaan, kod status pemulangan, dsb. Seterusnya, kita perlu menggunakan format log ini pada log akses tertentu. Dalam blok server
Nginx, anda boleh menentukan laluan storan dan format log akses dengan menambahkan kod berikut: 🎜rrreee🎜Dalam kod di atas, arahan access_log
menentukan laluan dan format storan log akses. Antaranya, /var/log/nginx/access.log
ialah laluan storan fail log dan access
ialah nama format log yang ditakrifkan sebelum ini. 🎜🎜Secara lalai, Nginx akan menulis semua log akses ke fail yang sama. Walau bagaimanapun, apabila fail ini menjadi sangat besar, kami mungkin mahu membahagikannya kepada beberapa fail yang lebih kecil. Untuk mencapai fungsi ini, kita boleh menggunakan alat logrotate
yang disediakan oleh Nginx. 🎜🎜logrotate
ialah alat pemotong log yang biasa digunakan yang boleh membahagi fail log mengikut peraturan yang ditetapkan. Kita boleh menulis fail konfigurasi bernama nginx
, yang mentakrifkan peraturan pemisahan log akses Nginx. Berikut ialah contoh: 🎜rrreee🎜Dalam kod di atas, /var/log/nginx/access.log
ialah laluan fail log yang perlu dipecahkan. harian
menentukan pemisahan mengikut hari dan putar 7
bermaksud mengekalkan fail log selama 7 hari. missingok
bermakna jika fail log tidak wujud, tiada ralat akan dilaporkan. notifempty
bermakna jika fail log kosong, tiada ralat akan dilaporkan. compress
bermaksud memampatkan fail log yang baru dijana. Kod antara postrotate
dan endscript
akan dilaksanakan selepas fail log dipotong Di sini, gunakan /usr/sbin/nginx -s reopen
untuk maklumkan Nginx membuka semula fail log. 🎜🎜Akhir sekali, kita perlu meletakkan fail konfigurasi nginx
ini dalam direktori /etc/logrotate.d/
. logrotate
akan mengimbas direktori ini dengan kerap dan kemudian memisahkan log mengikut fail konfigurasi di dalamnya. 🎜🎜Di atas adalah contoh mudah menggunakan Nginx untuk melaksanakan pemotongan balak. Dengan mengkonfigurasi format log Nginx dan peraturan pemotongan dengan betul, kami boleh mengurus dan menyimpan log akses tapak web dengan berkesan. Ini bukan sahaja menjimatkan ruang storan tetapi juga meningkatkan prestasi keseluruhan pelayan. Semoga artikel ini bermanfaat kepada anda. 🎜Atas ialah kandungan terperinci Analisis konfigurasi pemotongan log Nginx, pengurusan storan log laman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Cara mengkonfigurasi nama domain Nginx pada pelayan awan: Buat rekod yang menunjuk ke alamat IP awam pelayan awan. Tambah blok hos maya dalam fail konfigurasi Nginx, menyatakan port pendengaran, nama domain, dan direktori akar laman web. Mulakan semula nginx untuk memohon perubahan. Akses konfigurasi ujian nama domain. Nota Lain: Pasang sijil SSL untuk membolehkan HTTPS, pastikan firewall membenarkan trafik port 80, dan tunggu resolusi DNS berkuatkuasa.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Kaedah yang boleh menanyakan versi nginx adalah: gunakan perintah nginx -v; Lihat arahan versi dalam fail nginx.conf; Buka halaman ralat Nginx dan lihat tajuk halaman.

Buat bekas di Docker: 1. Tarik Imej: Docker Pull [Nama Cermin] 2. Buat bekas: Docker Run [Options] [Mirror Name] [Command] 3. Mulailah bekas: Docker Start [Nama Container]

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan
