การตั้งค่าเซิร์ฟเวอร์ Nginx Web
ServBay มอบวิธีที่สะดวกและรวดเร็วในการจัดการและกำหนดค่าซอฟต์แวร์เซิร์ฟเวอร์ Nginx ที่มาพร้อมกับระบบ คุณสามารถปรับแต่งการตั้งค่าหลักของ Nginx ให้เหมาะสมกับความต้องการของแต่ละโปรเจกต์พัฒนาบนเครื่องของคุณได้ง่าย ๆ ผ่านอินเทอร์เฟซผู้ใช้ที่เข้าใจง่ายของ ServBay
การเข้าถึงหน้าต่างการตั้งค่า Nginx
- เปิดแอปพลิเคชัน ServBay
- ที่แถบนำทางด้านซ้าย ให้คลิกที่
Web Server
- เลือกแท็บ
Nginx
คุณจะเห็นหน้าการตั้งค่า Nginx ดังภาพตัวอย่างด้านล่างนี้:
คำอธิบายการตั้งค่าหลักแต่ละรายการ
นี่คือรายละเอียดของแต่ละพารามิเตอร์ในการตั้งค่า Nginx:
การตั้งค่าเครือข่ายขั้นพื้นฐาน
- HTTP Port: หมายเลขพอร์ตสำหรับรับส่ง HTTP (โดยปกติคือ
80
) - HTTPS Port: หมายเลขพอร์ตสำหรับรับส่ง HTTPS (ค่าเริ่มต้นคือ
443
) - Worker Connections: จำนวนการเชื่อมต่อสูงสุดที่ worker แต่ละตัวของ Nginx อนุญาตให้เชื่อมต่อพร้อมกัน ตัวเลขนี้มีผลกับศักยภาพการรองรับคำขอพร้อมกัน
10240
เหมาะกับงานที่มีผู้ใช้จำนวนมาก
ประสิทธิภาพและข้อจำกัด
- Client Max Body Size: กำหนดขนาดสูงสุดของข้อมูลที่ผู้ใช้ส่งมาในแต่ละคำขอ ใช้จำกัดขนาดของไฟล์อัปโหลด เช่น
2048m
หมายถึง 2GB ต่อคำขอ - KeepAlive Timeout: ระยะเวลา (วินาที) ที่เชื่อมต่อแบบ Keep-Alive จะยังคงอยู่ก่อนที่เซิร์ฟเวอร์จะปิด ถ้าผู้ใช้ไม่มีคำขอใหม่ในช่วงเวลานี้
65
วินาทีเป็นค่าปกติ - TCP Nodelay: เปิดหรือปิดตัวเลือก
TCP_NODELAY
การเปิด (On) จะช่วยลดความล่าช้าของแพ็กเก็ตเล็ก ๆ เหมาะสำหรับเครือข่ายที่มี latency สูง หรือแอปฯ ที่ต้องการตอบสนองแบบ Real-time
เวอร์ชันของโปรโตคอล HTTP
- HTTP/2: เปิด/ปิดการรองรับ HTTP/2 โปรโตคอลนี้ปรับปรุงประสิทธิภาพด้วย Multiplexing, Header Compression ฯลฯ แนะนำให้เปิดใช้
- HTTP/3: เปิด/ปิดการรองรับ HTTP/3 (QUIC) โปรโตคอลยุคใหม่บนพื้นฐาน UDP ให้ความเร็วและความเสถียรที่สูงขึ้น หาก ServBay ของคุณรองรับ สามารถเปิดใช้ได้ตามความต้องการ
การตั้งค่า FastCGI (เช่นสำหรับ PHP ฯลฯ)
- FastCGI Connect Timeout: เวลารอ (วินาที) ขณะพยายามเชื่อมต่อกับเซิร์ฟเวอร์ FastCGI เช่น PHP-FPM
- FastCGI Send Timeout: ระยะเวลาสูงสุด (วินาที) ในการส่งคำขอจาก Nginx ไปยัง FastCGI
- FastCGI Read Timeout: ระยะเวลาสูงสุด (วินาที) ที่รอผลตอบรับจาก FastCGI
การกำหนดค่า timeout เหล่านี้เหมาะกับสคริปต์ PHP ที่ใช้เวลานาน สามารถปรับตามลักษณะงาน เพื่อหลีกเลี่ยงการถูกตัดการเชื่อมต่อก่อนเวลา
การบีบอัด Gzip
- Gzip: เปิด/ปิดการบีบอัดข้อมูลด้วย Gzip เมื่อเปิด Nginx จะบีบอัดข้อมูลก่อนส่งไปยังผู้ใช้ ลดการใช้แบนด์วิธและช่วยให้โหลดเว็บได้เร็วขึ้น แนะนำให้เปิดใช้เป็นอย่างยิ่ง
- Gzip Comp Level: ระดับการบีบอัดของ Gzip มีค่า
1
(เร็วสุด, อัตราการบีบอัดต่ำ) ถึง9
(ช้าที่สุด, อัดแน่นสุด) ค่าระดับ1
หรือ2
มักเป็นจุดสมดุลที่เหมาะกับการใช้งาน - Gzip Types: ระบุประเภทเนื้อหา (MIME types) ที่จะนำไปบีบอัด Gzip โดยค่าเริ่มต้นมีหัวข้อเช่น text, CSS, JavaScript, XML, RSS คุณสามารถเพิ่มเติมหรือลบออกได้ตามความเหมาะสม
การตั้งค่า SSL/TLS (สำหรับ HTTPS)
- SSL Protocols: กำหนดเวอร์ชันของโปรโตคอล SSL/TLS ที่อนุญาต
TLSv1.2 TLSv1.3
เป็นมาตรฐานความปลอดภัยในปัจจุบัน มีการปิดการใช้งานเวอร์ชันเก่า (เช่น SSLv3, TLSv1.0, TLSv1.1) เพื่อความปลอดภัย - SSL Prefer Server Ciphers: เปิด (On) หมายถึงเซิร์ฟเวอร์จะเลือกชุดรหัส (Cipher) ที่รองรับเอง มากกว่าการใช้ลิสต์ของฝั่งไคลเอนต์ เพื่อความปลอดภัยที่สูงขึ้น แนะนำให้เปิดไว้
- SSL Ciphers: รายการชุดรหัสที่เซิร์ฟเวอร์อนุญาตให้ใช้ เพื่อความปลอดภัยสูงสุด ServBay ได้ตั้งค่าชุดรหัสที่เหมาะสมไว้ให้แล้ว
การตั้งค่าอื่น ๆ
- Server Tokens: เลือกว่าจะแสดงข้อมูลเวอร์ชันของ Nginx ในหน้าข้อมูล error และ header
Server
หรือไม่On
คือแสดงเวอร์ชันเต็มOff
คือแสดงแค่ nginx เท่านั้น (ปลอดภัยกว่า) - Index: ระบุลำดับไฟล์ index ที่ Nginx จะค้นหาเมื่อเปิดไดเรกทอรี ตัวอย่างเช่น
index.html index.htm index.php
Nginx จะค้นหาindex.html
ก่อน ถ้าไม่มีจะค้นหาตัวถัดไปตามลำดับ
การบันทึกและรีเซ็ตค่าการตั้งค่า
- Reset: คลิกปุ่มนี้เพื่อคืนค่า Nginx กลับไปใช้ค่าตั้งต้นเดิมของ ServBay
- Save: คลิกนี้เพื่อบันทึกและใช้การเปลี่ยนแปลงที่คุณตั้งค่าไว้ ปกติ ServBay จะนำการเปลี่ยนแปลงไปใช้โดยอัตโนมัติ หาก Nginx กำลังทำงานอยู่ อาจต้องรีสตาร์ทสั้น ๆ เพื่อให้ค่าทั้งหมดถูกใช้
ข้อควรระวังสำคัญ
- การตั้งค่าที่นี่ส่งผลกับ Global Configuration (
http
block ในnginx.conf
) หากคุณต้องการกำหนดค่ารายไซต์ (เช่นserver_name
,root
,location
ฯลฯ) ให้จัดการผ่านเมนูเว็บไซต์
(Websites) แยกต่างหาก - ถ้าด้านล่างสุดของหน้าตั้งค่าปรากฏข้อความ "Service Nginx is not enabled" หมายถึง Nginx ยังไม่ได้เริ่มทำงาน คุณสามารถแก้ไขและบันทึกค่าตั้งค่าได้ แต่จะมีผลหลังเริ่มใช้งาน Nginx ครั้งถัดไป สามารถเริ่มเซอร์วิสนี้ได้จากหน้าหลัก ServBay หรือในเมนู
Packages
สรุป
ServBay ช่วยให้การตั้งค่า Nginx Web Server ง่ายดายขึ้นสำหรับนักพัฒนา คุณสามารถปรับแต่งค่าต่าง ๆ ผ่านอินเทอร์เฟซกราฟิก ทำความเข้าใจและปรับแต่งพารามิเตอร์เหล่านี้เพื่อเพิ่มประสิทธิภาพ ความปลอดภัย และฟีเจอร์ของ Nginx ให้เหมาะกับการพัฒนาเว็บแอปพลิเคชันบนเครื่องของคุณมากยิ่งขึ้น