เราคือผู้เชี่ยวชาญและประสบการณ์ด้าน Cloud มากกว่า 10 ปี
December 24, 2021

LAMP และ LEMP คืออะไร? เคล็ดลับการเลือก Web Server Software

หากใครที่ทำงานด้านสาย Dev คงต้องเคยได้ยินผ่านหูระหว่าง LAMP กับ LEMP แน่นอน แล้วเคยสงสัยกันไหมคะ? ว่า LAMP และ LEMP คืออะไร ทำงานยังไง แล้วแตกต่างกันยังไง ควรเลือกใช้แบบไหนถึงจะเหมาะสำหรับ Web server ของเรา ดังนั้น เรามาดูกันดีกว่าค่ะว่าข้อดีและข้อเสียของทั้งสอง Web Server Software นั้นแตกต่างกันมากน้อยแค่ไหนกันค่ะ

ระหว่าง LAMP กับ LEMP อะไรคือความแตกต่างสำหรับ Web Server ?

LAMP หรือ LAMP Stack เป็นเครื่องมือสำหรับ Web server ที่ประกอบไปด้วยซอฟต์แวร์สี่ชิ้น คือ

  • L (Linux) – ลินุกซ์ คือ ระบบปฏิบัติการ Linux
  • A (Apache) – อาปาเช่ คือ Web server สำหรับจัดเก็บ Webpage และรองรับ Request ที่เข้ามา
  • M (MySQL) – มายเอสคิวแอล คือ database แบบ relational สำหรับจัดเก็บฐานข้อมูลที่จำเป็น
  • P (PHP, Perl หรือ Python) – Scripting Language นั้นเป็นภาษาสคริปต์ซึ่งขึ้นอยู่กับ Dev จะเลือกใช้ภาษาสคริปต์อะไร

ส่วน LEMP หรือ LEMP Stack จะไม่ต่างจาก LAMP มากนัก จะแตกต่างกันแค่ Web server ที่ใช้คือ

  • L (Linux) – ลินุกซ์ = Linux operating system
  • E (Nginx) – เอนจินเอ็กซ์ = Nginx web server 
  • M (MySQL) – มายเอสคิวแอล = MySQL database 
  • P (PHP (พีเอสพี), Perl (เพอร์) หรือ Python (ไพทอน) ) = Scripting Language

Web Server คืออะไร ? มีหน้าที่อะไร ทำไมถึงต้องติดตั้ง Web Server Software

Web Server คือ ซอฟต์แวร์ และ ฮาร์ดแวร์ ที่ใช้ภาษาโพรโทคอลแบบ HTTP (Hypertext Transfer Protocol) และอื่นๆ ในการตอบสนองและสื่อสารกับเครื่องลูก (Client) ในเครือข่ายในรูปแบบแพลตฟอร์ม World Wide Web หน้าที่หลักของเว็บเซิร์ฟเวอร์ คือ แสดงผลข้อมูลและเนื้อหา Website ด้วยการจัดเก็บ, ประมวลผลและนำเสนอออกมาแก่ User ในลักษณะ Webpage นั่นเอง

นอกจาก HTTP แล้ว Web server ยังรองรับโพรโทคอลได้หลากหลายรูปแบบ คือ SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), การใช้งาน Email, การรับส่งไฟล์ และ จัดเก็บข้อมูล อีกด้วย

Web Server Hardware จะเชื่อมต่อกับ Internet และทำหน้าที่รับส่ง, แลกเปลี่ยนข้อมูล Data ต่างๆ กับอุปกรณ์อื่นๆ ขณะที่ Web Server Software จะควบคุมการเข้าถึงไฟล์ใน Host ของ User ลักษณะการทำงานนี้คือหนึ่งในวิธีการทำงานแบบ Client/Server Model นั่นเองค่ะ คอมพิวเตอร์ทุกๆ เครื่อง ที่ทำหน้าที่เป็น Host Website จะต้องมีการติดตั้ง Web Server Software อีกด้วย

Apache หรือ Nginx ควรเลือกอันไหน ? เป็น Web Server Software ของคุณ

Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์โอเพ่นซอร์สประสิทธิภาพสูงที่พัฒนาและดูแลโดย Apache Software Foundation Apache ได้รับการออกแบบมาเพื่อสร้างเว็บเซิร์ฟเวอร์เชิงพาณิชย์ที่ปลอดภัย แข็งแกร่ง และมีประสิทธิภาพตามมาตรฐาน HTTP ในปัจจุบัน ส่วน Nginx จะแตกต่างออกไปเพราะเป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์โอเพ่นซอร์สแบบ Reverse proxy server

Nginx นั้นเป็นเว็บเซิร์ฟเวอร์ที่ออกแบบมาเพื่อประสิทธิภาพและความเสถียรสูงสุด นอกเหนือจากความสามารถของเซิร์ฟเวอร์ HTTP แล้วยังสามารถทำหน้าที่เป็น Proxy server สำหรับอีเมล (IMAP, POP3 และ SMTP) และ Reverse proxy server และ balancer โหลดสำหรับเซิร์ฟเวอร์ HTTP, TCP และ UDP ดังนั้น เรามาดู ข้อแตกต่างระหว่าง Apache และ Nginx  กันเลยดีกว่า

  • Apache เป็นเซิร์ฟเวอร์ HTTP แบบโอเพ่นซอร์ส ในขณะที่ Nginx เป็นเว็บเซิร์ฟเวอร์ Asynchronous แบบโอเพนซอร์สที่มีประสิทธิภาพสูงและ Reverse proxy server
  • Apache ใช้ multi-threaded เพื่อประมวลผลคำขอของ Cilent ส่วน Nginx นั้นจะปฏิบัติตามแนวทางที่ขับเคลื่อนด้วยเหตุการณ์เพื่อให้บริการตามคำขอของ Cilent
  • Apache ไม่สามารถจัดการคำขอหลายรายการพร้อมกันกับการเข้าชมเว็บจำนวนมากได้ แต่ Nginx สามารถจัดการคำขอของ Cilent ได้หลายรายการพร้อมกันและมีประสิทธิภาพด้วยทรัพยากรฮาร์ดแวร์ที่จำกัด
  • Apache ประมวลผลเนื้อหาแบบ Dynamic ภายในเว็บเซิร์ฟเวอร์เองได้ ใขณะที่ Nginx ไม่สามารถประมวลผลเนื้อหาแบบ Dynamic ได้
  • Apache ถูกออกแบบมาให้เป็นเว็บเซิร์ฟเวอร์ ส่วน Nginx นั้นเป็นทั้งเว็บเซิร์ฟเวอร์และพร็อกซีเซิร์ฟเวอร์
  • ประสิทธิภาพของ Apache สำหรับ static content นั้นต่ำกว่า Nginx เพราะสามารถเรียกใช้การเชื่อมต่อ static content ได้เร็วกว่าถึงสองเท่าพร้อมกันหลายพันครั้งได้ และใช้หน่วยความจำน้อยกว่าเล็กน้อย

เปรียบเทียบสถิติการใช้งานระหว่าง Apache กับ Nginx สำหรับเว็บไซต์ประจำปี 2022

แผนภาพข้างล่างนี้จะแสดงเปอร์เซ็นต์ของเว็บไซต์ที่เลือกใช้ระหว่าง Apache กับ Nginx Web server

เปรียบเทียบสถิติการใช้งานระหว่าง Apache กับ Nginx สำหรับเว็บไซต์ประจำปี 2022

หากเราดูจากสถิติ ปัจจุบันพบว่าผู้ใช้งานบางส่วนจะเลือกใช้ Nginx มากกว่า Apache ซึ่งคิดเป็น 1.6% แต่หากเราดูจากกราฟทั้งหมดของปี 2021 นั้น จะเห็นว่าในช่วงต้นเดือนมกราคมมีการเลือกใช้ Apache อยู่ที่ 35% และ Nginx ประมาณ 33% และพบว่าในวันที่ 19 เดือนกุมภาพันธ์ 2022 นั้นมีผู้ใช้งาน Nginx 33.1% และเลือกใช้งาน Apache น้อยลงเหลือ 30.7%

Apache กับ Nginx Web server

อ้างอิงข้อมูลสถิติจาก: https://w3techs.com/technologies/comparison/ws-apache,ws-nginx

LAMP และ LEMP คืออะไร