ATB - Could You Believe (Official Music Video) [High Quality]
สารบัญ:
- การกำหนดค่าบันทึกการเข้าถึง
- การกำหนดค่าบันทึกข้อผิดพลาด
- ตำแหน่งของไฟล์บันทึก
- การอ่านและทำความเข้าใจไฟล์บันทึก Nginx
- ข้อสรุป
Nginx เป็น HTTP แบบโอเพ่นซอร์สประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์ย้อนกลับที่รับผิดชอบในการจัดการโหลดไซต์ที่ใหญ่ที่สุดบนอินเทอร์เน็ต เมื่อจัดการเว็บเซิร์ฟเวอร์ NGINX หนึ่งในภารกิจที่บ่อยที่สุดที่คุณต้องทำคือตรวจสอบไฟล์บันทึก
การรู้วิธีกำหนดค่าและอ่านบันทึกมีประโยชน์มากเมื่อแก้ไขปัญหาเซิร์ฟเวอร์หรือแอปพลิเคชันเนื่องจากพวกเขาให้ข้อมูลการดีบักแบบละเอียด
Nginx เขียนบันทึกเหตุการณ์ในบันทึกสองประเภท: เข้าถึงบันทึกและบันทึกข้อผิดพลาด บันทึกการเข้าถึงเขียนข้อมูลเกี่ยวกับคำขอของลูกค้าและบันทึกข้อผิดพลาดเขียนข้อมูลเกี่ยวกับปัญหาเซิร์ฟเวอร์และแอปพลิเคชัน
บทความนี้สรุปวิธีการกำหนดค่าและอ่านการเข้าถึง Nginx และบันทึกข้อผิดพลาด
การกำหนดค่าบันทึกการเข้าถึง
เมื่อใดก็ตามที่คำขอของลูกค้าถูกประมวลผล Nginx จะสร้างเหตุการณ์ใหม่ในบันทึกการเข้าถึง แต่ละบันทึกเหตุการณ์มีการประทับเวลาและรวมถึงข้อมูลต่าง ๆ เกี่ยวกับลูกค้าและทรัพยากรที่ร้องขอ บันทึกการเข้าถึงสามารถแสดงตำแหน่งของผู้เข้าชมหน้าเว็บที่พวกเขาเข้าชมเวลาที่ใช้ในหน้าและอีกมากมาย
คำสั่ง
log_format
ช่วยให้คุณกำหนดรูปแบบของข้อความที่บันทึก คำสั่ง
access_log
เปิดใช้งานและตั้งค่าตำแหน่งของไฟล์บันทึกและรูปแบบที่ใช้
ไวยากรณ์พื้นฐานที่สุดของคำสั่ง
access_log
มีดังนี้:
access_log log_file log_format;
โดยที่
log_file
เป็นพา ธ แบบเต็มไปยังไฟล์บันทึกและ
log_format
เป็นรูปแบบที่ใช้โดยไฟล์บันทึก
สามารถเปิดใช้งานบันทึกการเข้าถึงได้ในบล็อก
http
,
server
หรือ
location
คำสั่ง
โดยค่าเริ่มต้นบันทึกการเข้าถึงจะเปิดใช้งานทั่วโลกในคำสั่ง
http
ภายในไฟล์กำหนดค่า Nginx หลัก
http {… access_log /var/log/nginx/access.log;… }
เพื่อการบำรุงรักษาที่ดีขึ้นขอแนะนำให้ตั้งค่าไฟล์บันทึกการเข้าถึงแยกต่างหากสำหรับแต่ละเซิร์ฟเวอร์บล็อก ชุดคำสั่ง
access_log
ใน
server
สั่งแทนที่ชุดหนึ่งในคำสั่ง
http
(ระดับที่สูงขึ้น)
http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }
หากไม่มีการระบุรูปแบบบันทึก Nginx จะใช้รูปแบบ รวมที่ กำหนดไว้ล่วงหน้าซึ่งมีลักษณะดังนี้:
log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
หากต้องการเปลี่ยนรูปแบบการบันทึกอาจแทนที่การตั้งค่าเริ่มต้นหรือกำหนดรูปแบบใหม่ ตัวอย่างเช่นเพื่อกำหนดรูปแบบการบันทึกใหม่ที่ชื่อว่า main ซึ่งจะขยายรูปแบบที่ รวมกัน ด้วยค่าที่แสดงส่วนหัว
X-Forwarded-For
เพิ่มคำจำกัดความต่อไปนี้ใน
http
หรือคำสั่ง
server
:
log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
ในการใช้รูปแบบใหม่ให้ระบุชื่อหลังจากไฟล์บันทึกการทำงานดังแสดงด้านล่าง:
access_log /var/log/nginx/access.log custom;
ในขณะที่บันทึกการเข้าถึงให้ข้อมูลที่เป็นประโยชน์มาก ใช้พื้นที่ดิสก์และอาจส่งผลต่อประสิทธิภาพของเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ของคุณมีทรัพยากรเหลือน้อยและคุณมีเว็บไซต์ไม่ว่างคุณอาจต้องการปิดใช้งานบันทึกการเข้าถึง หากต้องการทำเช่นนั้นให้ตั้งค่าของคำสั่ง
access_log
เป็น
off
:
การกำหนดค่าบันทึกข้อผิดพลาด
Nginx เขียนข้อความเกี่ยวกับข้อผิดพลาดของแอปพลิเคชันและเซิร์ฟเวอร์ทั่วไปในไฟล์บันทึกข้อผิดพลาด หากคุณพบข้อผิดพลาดในเว็บแอปพลิเคชันของคุณบันทึกข้อผิดพลาดเป็นที่แรกที่เริ่มต้นสำหรับการแก้ไขปัญหา
error_log
สั่งเปิดใช้งานและการตั้งค่าที่ตั้งและระดับความรุนแรงของบันทึกข้อผิดพลาด ใช้แบบฟอร์มต่อไปนี้และสามารถตั้งค่าภายใน
http
,
server
หรือบล็อก
location
:
error_log log_file log_level
พารามิเตอร์
log_level
ตั้งค่าระดับการบันทึก ด้านล่างนี้เป็นระดับที่แสดงตามระดับความรุนแรง (จากต่ำถึงสูง):
-
debug
- ข้อความดีdebug
info
- ข้อความที่ให้ข้อมูลnotice
- ประกาศwarn
- คำเตือนerror
- ข้อผิดพลาดขณะประมวลผลคำขอcrit
- ปัญหาที่สำคัญ ต้องการการดำเนินการที่รวดเร็วalert
- การแจ้งเตือน จะต้องดำเนินการทันที ฉุกเฉิน - สถานการณ์ฉุกเฉิน ระบบอยู่ในสถานะใช้ไม่ได้
แต่ละระดับการบันทึกรวมถึงระดับที่สูงขึ้น ตัวอย่างเช่นถ้าคุณตั้งค่าระดับการบันทึกเป็น
warn
Nginx จะบันทึก
error
crit
alert
และข้อความ
emerg
เมื่อไม่ได้ระบุพารามิเตอร์
log_level
จะมีค่าเริ่มต้นเป็น
error
โดยค่าเริ่มต้น
error_log
directive จะถูกกำหนดไว้ใน
http
directive ภายในไฟล์หลัก nginx.conf:
http {… error_log /var/log/nginx/error.log;… }
เช่นเดียวกับบันทึกการเข้าถึงขอแนะนำให้ตั้งค่าไฟล์บันทึกข้อผิดพลาดแยกต่างหากสำหรับแต่ละบล็อกเซิร์ฟเวอร์ซึ่งจะแทนที่การตั้งค่าที่สืบทอดมาจากระดับที่สูงกว่า
ตัวอย่างเช่นในการตั้งค่าบันทึกข้อผิดพลาด domain.com 'เพื่อ
warn
คุณจะใช้:
http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }
เมื่อใดก็ตามที่คุณแก้ไขไฟล์กำหนดค่าคุณต้องรีสตาร์ทบริการ Nginx เพื่อให้การเปลี่ยนแปลงมีผล
ตำแหน่งของไฟล์บันทึก
ตามค่าเริ่มต้นในการกระจาย Linux ส่วนใหญ่เช่น Ubuntu, CentOS และ Debian บันทึกการเข้าถึงและข้อผิดพลาดจะอยู่ในไดเรกทอรี
/var/log/nginx
การอ่านและทำความเข้าใจไฟล์บันทึก Nginx
คุณสามารถเปิดและแยกวิเคราะห์ไฟล์บันทึกโดยใช้คำสั่งมาตรฐานเช่น
cat
,
less
,
grep
,
cut
,
awk
และอื่น ๆ
นี่คือตัวอย่างบันทึกจากไฟล์บันทึกการเข้าถึงที่ใช้รูปแบบบันทึกรวม 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"
ลองแยกความหมายของแต่ละฟิลด์ของเรคคอร์ด:
-
$remote_addr
-192.168.33.1
- ที่อยู่ IP ของลูกค้าที่ทำการร้องขอ$remote_user
--
- ผู้ใช้ที่ได้รับการรับรอง HTTP เมื่อไม่ได้ตั้งชื่อผู้ใช้ฟิลด์นี้จะแสดง-
-"$request"
-"GET /
- ประเภทคำขอเส้นทางและโปรโตคอล$status
-200
- รหัสตอบกลับของเซิร์ฟเวอร์$body_bytes_sent
-396
- ขนาดของการตอบกลับของเซิร์ฟเวอร์หน่วยเป็นไบต์"$http_referer"
-"-"
- URL ของผู้อ้างอิง"$http_user_agent"
-Mozilla/5.0…
- ตัวแทนผู้ใช้ของไคลเอ็นต์ (เว็บเบราว์เซอร์)
ใช้คำสั่ง
tail
เพื่อดูล็อกไฟล์แบบเรียลไทม์:
ข้อสรุป
ไฟล์บันทึกจะให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับปัญหาเซิร์ฟเวอร์และวิธีที่ผู้เข้าชมโต้ตอบกับเว็บไซต์ของคุณ
Nginx ช่วยให้คุณสามารถกำหนดค่าการเข้าถึงและบันทึกข้อผิดพลาดตามความต้องการของคุณ
Nginxช่องโหว่ที่สำคัญในซอฟต์แวร์เว็บเซิร์ฟเวอร์ของ Nginx

ทีมผู้พัฒนาซอฟต์แวร์โอเพ่นซอร์ส Nginx ที่เป็นที่นิยม แก้ไขช่องโหว่ที่มีความเสี่ยงสูงที่อาจถูกโจมตีโดยผู้โจมตีจากระยะไกลเพื่อรันโค้ดบนเซิร์ฟเวอร์ที่อ่อนแอได้
กำหนดค่า odoo ด้วย nginx เป็น reverse proxy

Odoo มาพร้อมกับเว็บเซิร์ฟเวอร์ในตัว แต่ในกรณีส่วนใหญ่แนะนำให้มี reverse proxy อยู่ข้างหน้าซึ่งจะทำหน้าที่เป็นตัวกลางระหว่างลูกค้าและเซิร์ฟเวอร์ Odoo คู่มือนี้ให้คำแนะนำเกี่ยวกับวิธีการใช้ Nginx เป็น reverse proxy ไปยัง Odoo
วิธีการติดตั้ง nginx บน debian 10 linux

Nginx เป็น HTTP แบบโอเพ่นซอร์สประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์ย้อนกลับที่ให้พลังบางไซต์ที่ใหญ่ที่สุดบนอินเทอร์เน็ต ในบทช่วยสอนนี้เราจะอธิบายวิธีการติดตั้งและจัดการ Nginx บน Debian 10 Buster