Rumah Operasi dan penyelenggaraan Nginx Analisis konfigurasi pemotongan log Nginx, pengurusan storan log laman web

Analisis konfigurasi pemotongan log Nginx, pengurusan storan log laman web

Jul 04, 2023 am 10:12 AM
nginx pemotongan balak Storan log tapak 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"';
    ...
}
Salin selepas log masuk

在上述代码中,log_format指令定义了一个名为access的日志格式,其中包含了一些常用的日志变量,如客户端IP地址、访问时间、请求URL、返回状态码等。

接下来,我们需要将这个日志格式应用到具体的访问日志中。在Nginx的server块中,可以通过添加以下代码来指定访问日志的存储路径和格式:

server {
    ...
    access_log /var/log/nginx/access.log access;
    ...
}
Salin selepas log masuk

在上述代码中,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
}
Salin selepas log masuk

在上述代码中,/var/log/nginx/access.log为需要被拆分的日志文件路径。daily指定了按天拆分,rotate 7表示保留7天的日志文件。missingok表示如果日志文件不存在,也不报错。notifempty表示如果日志文件为空,也不报错。compress表示对新生成的日志文件进行压缩。postrotateendscript之间的代码会在日志文件切割完成后执行,这里使用/usr/sbin/nginx -s reopen来通知Nginx重新打开日志文件。

最后,我们需要将这个nginx配置文件放置到/etc/logrotate.d/目录下。logrotaterrreee

Dalam kod di atas, arahan 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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

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").

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

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 pelayan awan di nginx Cara mengkonfigurasi nama domain pelayan awan di nginx Apr 14, 2025 pm 12:18 PM

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.

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

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.

Cara memeriksa versi nginx Cara memeriksa versi nginx Apr 14, 2025 am 11:57 AM

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.

Cara membuat bekas untuk Docker Cara membuat bekas untuk Docker Apr 15, 2025 pm 12:18 PM

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]

Cara Memulakan Bekas oleh Docker Cara Memulakan Bekas oleh Docker Apr 15, 2025 pm 12:27 PM

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".

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

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

See all articles