LAMP Stacks คืออะไร? มันทำงานอย่างไร?

เผยแพร่แล้ว: 2022-08-17

LAMP ย่อมาจาก Linux, Apache, MySQL, PHP, Perl และ Python เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการพัฒนาเว็บไซต์ที่ใช้ Linux เป็นระบบปฏิบัติการ, Apache เป็นเว็บเซิร์ฟเวอร์, MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ และ PHP, Perl หรือ Python เป็นภาษาสคริปต์เชิงวัตถุ

เนื่องจากแพลตฟอร์มประกอบด้วยสี่ระดับที่แตกต่างกัน LAMP จึงถูกเรียกว่าสแต็ก LAMP ในบางครั้ง สแต็คสามารถสร้างได้บนระบบปฏิบัติการที่หลากหลาย

php/perl/python

ตัวอย่างของสแต็กบริการเว็บที่ตั้งชื่อเป็นตัวย่อคือ LAMP stack ส่วนประกอบของ LAMP ส่วนใหญ่จะใช้แทนกันได้และไม่จำกัดเฉพาะการเลือกเริ่มต้น

การใช้ LAMP ทำให้สามารถสร้างเว็บไซต์และแอพแบบไดนามิกสำหรับเว็บได้

โมเดล LAMP ได้ขยายไปยังส่วนประกอบอื่นตั้งแต่มีการพัฒนาครั้งแรก อย่างไรก็ตาม มันยังคงประกอบด้วยซอฟต์แวร์ที่สามารถใช้ได้ฟรีและโอเพ่นซอร์ส

เป็นที่เชื่อกันว่านักพัฒนาที่ใช้เครื่องมือเหล่านี้กับระบบปฏิบัติการ Windows แทน Linux กำลังใช้ WAMP นักพัฒนาที่ใช้เครื่องมือเหล่านี้กับระบบ Macintosh กล่าวกันว่าใช้ MAMP และนักพัฒนาที่ใช้เครื่องมือเหล่านี้กับระบบ Solaris กล่าว กำลังใช้ SAMP

สารบัญ

ส่วนประกอบของ LAMP Stack คืออะไร?

เว็บเซิร์ฟเวอร์ Linux ประกอบด้วยสี่องค์ประกอบ เลเยอร์เหล่านี้สร้างสแต็กซอฟต์แวร์ สแต็กนี้เรียกใช้เว็บไซต์และเว็บแอป ส่วนประกอบซอฟต์แวร์ประกอบด้วย:

  1. ลินุกซ์: ก่อตั้งขึ้นในปี 1991, ลินุกซ์. มันสร้างกรอบงานสำหรับโมเดลสแต็ก เลเยอร์นี้ตามด้วยเลเยอร์อื่นทั้งหมด เป็นระบบปฏิบัติการโอเพ่นซอร์สฟรี ส่วนหนึ่งรอดมาได้เนื่องจากระบบปฏิบัติการที่แข่งขันกันนั้นยากต่อการกำหนดค่าในขณะที่มีความหลากหลายน้อยลง
  1. Apache: ซอฟต์แวร์เว็บเซิร์ฟเวอร์ ซึ่งมักจะเป็น Apache Web Server ประกอบขึ้นเป็นเลเยอร์ที่สอง เลเยอร์ Linux ตามด้วยเลเยอร์นี้ ใบอนุญาตโอเพนซอร์สใช้เพื่อทำให้ซอฟต์แวร์ Apache HTTP Server ใช้งานได้ฟรี เมื่อได้รับการพัฒนาครั้งแรกในปี 1995 มันถูกเรียกว่า Apache Web Server มีเว็บเซิร์ฟเวอร์ที่สอดคล้องกับมาตรฐาน HTTP ที่ทันสมัยและปลอดภัยและสามารถขยายได้ การแปลจากเว็บเบราว์เซอร์ไปยังเว็บไซต์ที่เหมาะสมนั้นทำโดยเว็บเซิร์ฟเวอร์
  1. MySQL: ข้อมูลแอปพลิเคชันถูกเก็บไว้ในฐานข้อมูลเชิงสัมพันธ์ เช่น MySQL เป็นโอเพ่นซอร์สและรักษาข้อมูลทั้งหมดในลักษณะที่ทำให้การใช้ภาษา SQL ในการสืบค้นเป็นเรื่องง่าย เครื่องมือที่ยอดเยี่ยมที่สามารถจัดการได้แม้กระทั่งเว็บไซต์ที่ใหญ่ที่สุดและซับซ้อนที่สุด SQL ทำงานได้ดีกับโดเมนธุรกิจที่มีโครงสร้างดี MySQL เก็บข้อมูลที่การเขียนโปรแกรมอาจสืบค้นเพื่อสร้างเว็บไซต์ โดยปกติ Apache และ MySQL จะอยู่ที่ด้านบนของเลเยอร์ Linux การตั้งค่าระดับไฮเอนด์ช่วยให้สามารถถ่ายโอน MySQL ไปยังเซิร์ฟเวอร์โฮสต์อื่นได้
  1. PHP: PHP และภาษาการเขียนโปรแกรมเว็บอื่น ๆ ที่เกี่ยวข้องประกอบขึ้นเป็นเลเยอร์สคริปต์ สำหรับการสร้างหน้าเว็บแบบไดนามิกนั้น Apache และภาษาการเขียนโปรแกรม PHP แบบโอเพ่นซอร์สถูกนำมาใช้ ไม่สามารถใช้ HTML สำหรับการดำเนินการแบบไดนามิก เช่น การรับข้อมูลจากฐานข้อมูล เราแทรกโค้ด PHP ลงในส่วนต่างๆ ของหน้าเว็บที่คุณต้องการให้เป็นแบบไดนามิก เพื่อให้มีฟังก์ชันการทำงานประเภทนี้ ภายในเลเยอร์นี้ เว็บไซต์และเว็บแอปพลิเคชันทำงาน PHP สร้างขึ้นโดยคำนึงถึงประสิทธิภาพ ตอนนี้โปรแกรมเมอร์สามารถป้อนรหัสใหม่ กดปุ่มรีเฟรช และดูการเปลี่ยนแปลงที่เกิดขึ้นทันทีโดยไม่ต้องรอให้คอมไพล์โค้ด
กองไฟ

ข้อดีของ LAMP คืออะไร?

สถาปัตยกรรม LAMP มีประโยชน์หลายประการ ได้แก่ :

  1. สแต็ก LAMP ประกอบด้วยสี่ส่วนที่แตกต่างกัน ซึ่งทั้งหมดนี้เป็นตัวอย่างของซอฟต์แวร์ที่เปิดให้สาธารณะใช้งานได้ฟรี ( FOSS ) เนื่องจากไม่มีการเรียกเก็บเงินและสามารถดาวน์โหลดได้เมื่อใดก็ได้
  1. เนื่องจากเป็นซอฟต์แวร์โอเพ่นซอร์สฟรี (FOSS) ซอร์สโค้ดของโปรแกรมจึงอาจเข้าถึงได้โดยใครก็ตามที่ต้องการแก้ไขหรือปรับปรุง ซึ่งจะส่งผลให้ฟังก์ชันการทำงานของผลิตภัณฑ์เพิ่มขึ้นในท้ายที่สุด
  1. เนื่องจากชุมชนขนาดใหญ่ที่สนับสนุนและสนับสนุน LAMP stack จึงได้รับการพิสูจน์แล้วว่าเป็นแพลตฟอร์มที่เชื่อถือได้ในแง่ของความปลอดภัยและระยะเวลาทำงาน
  1. ในการปรับแต่งสแต็กให้ตรงกับความต้องการ เราอาจปรับเปลี่ยนและสลับส่วนประกอบกับส่วนประกอบจากซอฟต์แวร์โอเพนซอร์ซอื่นๆ ได้อย่างง่ายดาย

LAMP Stack ทำงานอย่างไร?

ผู้ใช้และอุปกรณ์ไคลเอนต์จะได้รับเส้นทางในการเข้าถึงสื่อ ซอฟต์แวร์ หรือเครื่องมือเว็บอื่นๆ ที่พวกเขาเลือกด้วย LAMP stack ขั้นตอนต่อไปนี้รวมอยู่ในการดำเนินการของโมเดล โดยที่ Linux ทำหน้าที่เป็นระบบปฏิบัติการหลัก:

  • ลูกค้าเยี่ยมชมเว็บไซต์และส่งคำขอ
  • Apache ใช้ PHP เพื่อดำเนินการตามคำขอของไคลเอ็นต์ PHP
  • Apache รับข้อมูล MySQL เมื่อจำเป็น
  • PHP และ MySQL ให้ทรัพยากร Apache
  • Apache แปลงทรัพยากรเป็น HTML สำหรับไคลเอนต์

ภาพรวมของลำดับการดำเนินการของสแตก LAMP จะให้ข้อมูลเชิงลึกเกี่ยวกับวิธีการทำงานร่วมกันของส่วนประกอบ เมื่อเว็บเบราว์เซอร์ของผู้ใช้ส่งคำขอไปยังเว็บเซิร์ฟเวอร์ Apache กระบวนการจะเริ่มขึ้นอย่างเป็นทางการ

หากไฟล์ที่ขอเป็นไฟล์ PHP Apache จะส่งต่อคำขอไปยัง PHP ซึ่งจะโหลดไฟล์และเรียกใช้โค้ดที่อยู่ในไฟล์ นอกจากนี้ PHP สามารถเชื่อมต่อกับ MySQL เพื่อดึงข้อมูลใด ๆ ที่อ้างถึงในรหัส

HTML ที่เว็บเบราว์เซอร์ต้องการเพื่อแสดงหน้าเว็บนั้นถูกสร้างขึ้นโดย PHP โดยใช้รหัสที่รวมอยู่ในไฟล์รวมถึงข้อมูลที่ดึงมาจากฐานข้อมูล

LAMP stack มีประสิทธิภาพไม่เพียงแต่ในการจัดการหน้าเว็บแบบสแตติกเท่านั้น แต่ยังรวมถึง หน้าเว็บแบบไดนามิก ด้วย ซึ่งหลังนี้มีเนื้อหาที่อาจแตกต่างกันไปทุกครั้งที่โหลดหน้าเว็บตามวันที่ เวลา การระบุผู้ใช้ และเกณฑ์อื่นๆ

หลังจากรันโค้ดในไฟล์แล้ว PHP จะส่งข้อมูลที่สร้างขึ้นไปยังเว็บเซิร์ฟเวอร์ Apache เพื่อส่งไปยังเบราว์เซอร์

นอกจากนี้ยังสามารถบันทึกข้อมูลใหม่นี้ใน MySQL โดยธรรมชาติแล้ว ระบบปฏิบัติการ Linux ที่ใช้เป็นรากฐานของสแต็กคือระบบที่ทำให้การดำเนินการทั้งหมดนี้เป็นไปได้

ความยืดหยุ่น

แม้ว่าลีนุกซ์จะถูกใช้เป็นระบบปฏิบัติการสำหรับ LAMP คุณก็มีอิสระที่จะใช้ส่วนประกอบอื่นๆ ของ LAMP กับระบบปฏิบัติการใดๆ ก็ตามที่เหมาะกับความต้องการของคุณมากกว่า

ตัวอย่างเช่น มีบางอย่างที่เรียกว่า WAMP stack ซึ่งทำงานบน Microsoft Windows; นอกจากนี้ยังมีบางสิ่งที่เรียกว่า MAMP stack ซึ่งทำงานบน Mac OS; และยังมีบางสิ่งที่เรียกว่า WIMP stack ซึ่งทำงานบน Windows และเว็บเซิร์ฟเวอร์ Internet Information Services จาก Microsoft

อาจหลีกเลี่ยงการล็อคอินโดยใช้ LAMP เนื่องจากส่วนประกอบทั้งหมดเป็นโอเพ่นซอร์สและไม่มีกรรมสิทธิ์ คุณมีอิสระในการเลือกส่วนประกอบที่เหมาะสมสำหรับแต่ละโครงการหรือความต้องการของธุรกิจบางประเภท

LAMP ยังให้ความยืดหยุ่นในรูปแบบต่างๆ Apache ได้รับการออกแบบมาให้เป็นแบบโมดูลาร์ และคุณอาจพบโมดูลที่สร้างไว้ล่วงหน้าที่สามารถปรับแต่งสำหรับส่วนเสริมและส่วนขยายที่หลากหลายได้

โมดูลเหล่านี้รวมถึงการรองรับภาษาต่างๆ รวมถึงคุณสมบัติที่เกี่ยวข้องกับการรับรองความถูกต้อง

การออกแบบที่ปลอดภัยของ LAMP และขั้นตอนการเข้ารหัสที่เป็นที่ยอมรับ ซึ่งได้รับการตรวจสอบในการตั้งค่าทางธุรกิจ เป็นเพียงหนึ่งในประโยชน์มากมายของสแต็คโอเพนซอร์ส

ประสิทธิภาพ

เวลาในการพัฒนาอาจลดลงด้วยความช่วยเหลือของ LAMP จากข้อเท็จจริงที่ว่า LAMP เป็นสแต็กโอเพ่นซอร์สที่มีมานานกว่าทศวรรษ มีระบบนิเวศขนาดใหญ่ที่มีศูนย์กลางอยู่ที่ LAMP

คุณสามารถสร้างสิ่งใหม่ในขณะที่ดึงแรงบันดาลใจจากงานที่คนอื่นทำในอดีต

คุณสามารถประหยัดเวลาได้มากด้วยการทำงานภายในโมดูล Apache ซึ่งช่วยให้คุณทำงานได้ 80 เปอร์เซ็นต์ จากนั้นปรับแต่งงานที่เหลืออีก 20 เปอร์เซ็นต์

LAMP stack มีประโยชน์กับ IBM อย่างไร?

เทคโนโลยีมีศักยภาพที่จะซับซ้อนเกินไป ซึ่งสามารถบดบังการทำงานพื้นฐานของซอฟต์แวร์ได้ กอง LAMP จะนำคุณกลับไปสู่พื้นฐาน นำคุณเข้าใกล้ด้านเทคนิคในการจัดหาหน้าเว็บและกระบวนการเบื้องหลังการดำเนินการดังกล่าว

คุณยังอาจกล่าวได้ว่าเป็นวิธีการพัฒนาแอปพลิเคชันที่ปราศจากสิ่งเจือปน LAMP เป็นตัวย่อที่ย่อมาจาก "คุณมีฐานข้อมูล ภาษาโปรแกรม และกลไกในการให้บริการแก่ลูกค้า"

ประวัติของโคมไฟ

  • 1991: Linus Torvalds เปิดตัวระบบปฏิบัติการ Linux ซึ่งคล้ายกับ Unix
  • Apache HTTP Server เผยแพร่สู่สาธารณะครั้งแรกในปี 1995 โดย Apache Software Foundation
  • MySQL เปิดตัวครั้งแรกในปี 1995 โดยธุรกิจ MySQL AB ของสวีเดน และ Oracle ได้ซื้อในภายหลัง
  • 1995: การเสนอขายภาษาสคริปต์ PHP แก่ประชาชนทั่วไปเป็นครั้งแรกเพื่อใช้ในการพัฒนาเว็บ
  • 1998: Michael Kunze สร้างคำว่า "LAMP stack" ใน Computertechnik

อะไรคือทางเลือกของ LAMP?

สี่เลเยอร์ของ LAMP นั้นฟรีและเป็นโอเพ่นซอร์ส Linux, Apache, MySQL และ PHP สร้าง LAMP stack ฟรี รุ่นสี่กองมีรูปแบบต่างๆ เวอร์ชันเหล่านี้แทนที่ส่วนประกอบมาตรฐานด้วยซอฟต์แวร์ทางเลือก ทางเลือก:

  • WAMP: Windows, Apache, MySQL & PHP
  • WISA: Windows, IIS, SQL & ASP.net
  • MAMP: MacOS, Apache, MySQL & PHP

บทสรุป

LAMP ถูกใช้มาตั้งแต่ปี 1998 เมื่อ Michael Kunze สร้างมันขึ้นมา มันได้รับความนิยมในฐานะกลุ่มเทคโนโลยีโอเพ่นซอร์สชุดแรกและยังคงใช้ในแอประดับองค์กร ความเก่งกาจและประสิทธิภาพช่วยให้นักพัฒนารายย่อยสามารถแข่งขันกับระบบเชิงพาณิชย์ได้

อ่านเกี่ยวกับวิธีการย้อนกลับการเปลี่ยนแปลงใน WordPress?