คำถามที่พบบ่อย ServBay
ในการใช้งานสภาพแวดล้อมการพัฒนาเว็บในเครื่องด้วย ServBay นักพัฒนาอาจพบปัญหาได้หลากหลายเเต่สามารถแก้ไขได้จากคู่มือนี้ เช่น การอัปเกรด ServBay Runtime, แก้ไขปัญหาเข้าใช้งานเว็บไซต์ในเครื่องไม่ได้เมื่อใช้โปรแกรมพร็อกซีอย่าง ClashX Pro และปัญหาเครือข่ายที่เกิดจากบริการ dnsmasq
วิธีอัปเกรด ServBay Runtime
ServBay Runtime คือหัวใจหลักของ ServBay มีความสำคัญต่อการทำงานที่เสถียรของ ServBay และบริการต่าง ๆ ที่เกี่ยวข้อง ทุกครั้งที่มีเวอร์ชันใหม่ออกมา ServBay จะแจ้งเตือนผู้ใช้ให้ทำการอัปเกรดเมื่อเปิดใช้งาน การอัปเดต Runtime จะช่วยเพิ่มประสิทธิภาพและเสถียรภาพให้กับ ServBay รวมถึงรักษาความเข้ากันได้ของระบบ
ขั้นตอนการอัปเกรด ServBay Runtime มีดังนี้:
- เปิดแอปพลิเคชัน ServBay
- ในแถบนำทางซ้ายมือ เลือก แพ็กเกจ > บริการทั่วไป
- ในแถบขวา ค้นหาแถวที่ชื่อ ServBay Runtime
- ถ้า ServBay Runtime มีอัปเดตใหม่ จะขึ้นสัญลักษณ์แจ้งเตือนสีเหลืองหรือปุ่มให้อัปเกรด ให้คลิกปุ่มอัปเกรดสีเหลืองนั้น
- ระบบจะดาวน์โหลดและติดตั้ง Runtime เวอร์ชันล่าสุด กรุณารอจนกระบวนการเสร็จสมบูรณ์
หลังการอัปเกรด ServBay Runtime จะทำงานด้วยเวอร์ชันล่าสุด ให้ความเสถียรและประสิทธิภาพที่ดียิ่งขึ้น
ทำไมเข้าเว็บไซต์ในเครื่องของ ServBay ไม่ได้หลังใช้ ClashX Pro (หรือโปรแกรมพร็อกซีอื่นๆ)?
นักพัฒนาหลายคนใช้ ServBay เพื่อพัฒนาและทดสอบเว็บไซต์ในเครื่อง ซึ่งมักตั้งค่าโดเมนท้องถิ่นเอง (เช่น servbay.demo
, myproject.servbay.demo
ฯลฯ) โดเมนเหล่านี้จะชี้ไปยังที่อยู่ 127.0.0.1
ในเครื่อง
เมื่อคุณใช้ ClashX Pro หรือโปรแกรม VPN/พร็อกซีอื่น ๆ เช่น Surge, Quantumult X ฯลฯ โปรแกรมเหล่านี้มักจะดักจับหรือเปลี่ยนเส้นทางการขอ DNS เพื่อให้ทุกโดเมนต้องผ่านเซิร์ฟเวอร์ของพร็อกซี ซึ่งจะข้ามกระบวนการ DNS ปกติของระบบปฏิบัติการและไฟล์ hosts ในเครื่อง (ที่ ServBay ใช้ในการแปลโดเมน) ผลที่ตามมาคือ โดเมนสำหรับพัฒนาในเครื่องจะชี้ไปที่ที่อยู่ผิดและเข้าใช้งานเว็บไซต์ในเครื่องไม่ได้
ในการแก้ไขปัญหานี้ คุณต้องตั้งค่ากฎในโปรแกรมพร็อกซีของคุณ เพื่อให้โดเมนสำหรับพัฒนาในเครื่องไม่ต้องผ่านพร็อกซี หรือไม่ถูกดักจับ DNS โดยทั่วไปจะมีตัวเลือก "ข้ามพร็อกซี", "ละเว้นพร็อกซี", "Whitelist" หรือ "เพิ่มในรายชื่อยกเว้น"
ตัวอย่าง ClashX Pro ให้ทำตามขั้นตอนนี้:
- เปิดแอป ClashX Pro
- ที่แถบเมนู macOS คลิกไอคอน ClashX Pro แล้วเลือก ตั้งค่าเพิ่มเติม
- ที่หน้าต่างตั้งค่า ไปที่แท็บ ทั่วไป
- หาอินพุตที่ชื่อ ข้ามพร็อกซีสำหรับโฮสต์และโดเมนเหล่านี้ (หรือชื่อใกล้เคียง)
- เพิ่มโดเมนสำหรับพัฒนาในเครื่องของคุณลงในรายชื่อนี้ เพื่อให้ครอบคลุมโดเมนที่ใช้งาน ServBay แนะนำให้เพิ่ม
localhost
,127.0.0.1
และโดเมนที่คุณตั้งค่าไว้ เช่น ถ้าใช้.servbay.demo
เป็นโดเมนหลัก ให้เพิ่ม*.servbay.demo
รายการแต่ละบรรทัดใช้คอมม่า,
หรือขึ้นบรรทัดใหม่ ตัวอย่างเช่น:localhost, 127.0.0.1, *.servbay.demo, yourproject.servbay.demo
1 - บันทึกการตั้งค่า และทำตามคำแนะนำของ ClashX Pro อาจต้องโหลดหรือใช้การตั้งค่าใหม่ให้มีผล
(ภาพตัวอย่าง: ตั้งค่าข้ามพร็อกซีของโฮสต์และโดเมนใน ClashX Pro)
เสร็จสิ้นขั้นตอนนี้ ClashX Pro จะไม่ขวางการแปลโดเมนของคุณในเครื่อง และคุณจะเข้าใช้งานเว็บไซต์ที่พัฒนาใน ServBay ได้ตามปกติ หากยังเข้าใช้งานไม่ได้ ให้ตรวจสอบว่าตั้งค่าโดเมนในส่วน เว็บไซต์ ของ ServBay ถูกต้องหรือไม่ และบริการที่เกี่ยวข้อง (เช่น Caddy หรือ Nginx) ทำงานอยู่หรือไม่ คุณอาจใช้คำสั่ง terminal เช่น ping yourproject.servbay.demo
หรือ dig yourproject.servbay.demo
เพื่อเช็คการแปลโดเมนได้
ทำไมเปิดใช้ dnsmasq ของ ServBay แล้ว รีสตาร์ทเครื่องถึงเข้าเว็บไซต์ไม่ได้เลย?
หากคุณเปิดใช้งานบริการ dnsmasq ของ ServBay แล้วรีสตาร์ทเครื่องแล้วเข้าใช้งานเว็บไซต์ใด ๆ ไม่ได้ สาเหตุส่วนใหญ่มาจากการตั้งค่า DNS ในระบบผิดพลาด โดย dnsmasq บน ServBay จะทำงานที่ 127.0.0.1
และหากคุณตั้งค่า DNS Server ของระบบเป็น 127.0.0.1
ทุกคำขอ DNS จะถูกส่งไปยัง dnsmasq เพื่อแปลผล
ถ้ารีสตาร์ทเครื่องแล้ว dnsmasq ไม่ถูกเปิดใช้งาน แต่ DNS Server ยังชี้ไปที่ 127.0.0.1
ผลลัพธ์คือทุกการค้นหา DNS จะล้มเหลว ทุกเว็บไซต์จะเข้าไม่ได้
วิธีแก้ไข
โปรดตรวจสอบและแก้ไขตามขั้นตอนนี้:
เช็คสถานะบริการ dnsmasq
ก่อนอื่นเปิดแอป ServBay แล้วเช็คว่าบริการ dnsmasq ทำงานหรือไม่:
- ที่แถบด้านซ้าย เลือก แพ็กเกจ > บริการทั่วไป
- หา dnsmasq แล้วดูสถานะการทำงาน
- หากไม่ทำงาน ลองสตาร์ทบริการด้วยตัวเอง
ตรวจสอบการตั้งค่า DNS ของระบบ
ถ้า dnsmasq ไม่สามารถเริ่มต้นได้หรือยังไม่ต้องการใช้งานชั่วคราว ให้ทำตามนี้เพื่อลบ
127.0.0.1
ออกจาก DNS Server ระบบ:- เปิด การตั้งค่าระบบ (หรือ System Preferences)
- เข้าสู่ เครือข่าย (Network)
- เลือกการเชื่อมต่อที่ใช้อยู่ (เช่น Wi-Fi หรือ Ethernet)
- คลิก รายละเอียด... หรือ ขั้นสูง...
- เข้าสู่แท็บ DNS
- ลบ
127.0.0.1
ออกจากรายชื่อ DNS Server - เพิ่ม DNS สาธารณะอื่น ๆ เช่น:
8.8.8.8
(Google DNS)1.1.1.1
(Cloudflare DNS)223.5.5.5
(Aliyun DNS)
- กด ตกลง หรือ นำไปใช้ เพื่อบันทึก
กลับมาเปิดใช้ dnsmasq (ไม่บังคับ)
แก้ไขปัญหาแล้ว ถ้าต้องการใช้ dnsmasq สำหรับแปลโดเมนท้องถิ่น:
- ให้แน่ใจว่าบริการ dnsmasq ทำงานอยู่ใน ServBay
- เพิ่ม
127.0.0.1
กลับเข้าไปในระบบ DNS Server (ไว้ด้านหน้า) - ตรวจสอบการตั้งค่าของ dnsmasq ให้แปลโดเมนภายนอกได้ถูกต้อง
ทำตามขั้นตอนเหล่านี้แล้วควรกลับมาเข้าใช้งานเว็บไซต์ได้ตามปกติ แนะนำว่า หากต้องใช้ dnsmasq ควรมั่นใจว่าบริการถูกเปิดใช้งานเสมอก่อนที่จะแก้ไข DNS ของระบบเพื่อป้องกันปัญหาเช่นนี้