วิธีการติดตั้ง LLMP Stack บน Ubuntu 20.04 LTS

ตั้งค่าเซิร์ฟเวอร์ Ubuntu 20.04 ด้วย Lighttpd, MySQL และ PHP-FPM

Lighttpd เป็นเว็บเซิร์ฟเวอร์โอเพ่นซอร์สที่รวดเร็วและยืดหยุ่น ซึ่งเทียบได้กับประสิทธิภาพกับ Nginx สำหรับการโฮสต์แอปพลิเคชัน PHP เช่น WordPress, Magento ฯลฯ บนเซิร์ฟเวอร์ Lighttpd คุณต้องตั้งค่า LLMP stack บนเซิร์ฟเวอร์ของคุณ LLMP ย่อมาจาก Linux, Lighttpd, MySQL และ PHP

ด้วยประสิทธิภาพของ Lighttpd ทำให้ LLMP stack มีประสิทธิภาพเหนือกว่า LAMP (Apache) ที่ตั้งค่าปริมาณการรับส่งข้อมูลที่กำหนด เท่าที่ LLMP กับ LEMP (Nginx) ดำเนินไป ประสิทธิภาพส่วนใหญ่จะคล้ายกัน แต่ Nginx เป็นตัวเลือกยอดนิยมในหมู่คนทั่วไป มีชุมชนสนับสนุนที่ยอดเยี่ยมสำหรับการตั้งค่า LEMP

หากคุณกำลังมองหาเซิร์ฟเวอร์เพื่อรองรับการรับส่งข้อมูลจำนวนมากโดยใช้หน่วยความจำน้อยที่สุด การตั้งค่า LLMP เป็นตัวเลือกที่ดี ในคู่มือนี้ เราจะมาดูวิธีการติดตั้ง LLMP stack บนเครื่อง Ubuntu 20.04 LTS

ข้อกำหนดเบื้องต้น

คุณจะต้องใช้เซิร์ฟเวอร์ Ubuntu 20.04 LTS และเข้าสู่ระบบด้วย a sudo ผู้ใช้ที่เปิดใช้งาน คุณจะต้องมีความเข้าใจพื้นฐานเกี่ยวกับคำสั่ง Linux

ก่อนที่เราจะเริ่มต้น ให้อัปเดตและอัปเกรดแพ็คเกจบนเซิร์ฟเวอร์ Ubuntu 20.04 ของคุณโดยออกคำสั่งด้านล่าง:

sudo apt-get update && apt-get upgrade

ติดตั้ง Lighttpd เว็บเซิร์ฟเวอร์

ในการติดตั้งเว็บเซิร์ฟเวอร์ Lighttpd บนเครื่อง Ubuntu 20.04 เพียงป้อนคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ

sudo apt-install lighttpd

เมื่อกระบวนการติดตั้งเสร็จสิ้น ให้พิมพ์คำสั่งต่อไปนี้เพื่อเริ่มต้นและเปิดใช้งานเว็บเซิร์ฟเวอร์ Lighttpd

systemctl start lighttpd systemctl เปิดใช้งาน lighttpd

ในการตรวจสอบสถานะของเซิร์ฟเวอร์ Lighttpd ให้พิมพ์คำสั่งที่แสดงด้านล่าง

สถานะ systemctl lighttpd

💡 เคล็ดลับ: หากต้องการลบบรรทัดสุดท้ายที่มี (END) เขียนอยู่ ให้กด ESC และ q เพื่อให้สามารถป้อนคำสั่งเพิ่มเติมได้

ตอนนี้เราจะตั้งค่าบริการ HTTP, HTTPS และ SSH ในไฟร์วอลล์ UFW UFW เป็นเครื่องมือกำหนดค่าไฟร์วอลล์เริ่มต้นสำหรับ Ubuntu หรือที่เรียกว่า Uncomplicated Firewall พิมพ์คำสั่งต่อไปนี้แล้วกด Enter ทีละรายการ

sudo ufw อนุญาต ssh sudo ufw อนุญาต http sudo ufw อนุญาต https

เปิดใช้งานไฟร์วอลล์ UFW โดยออกคำสั่งต่อไปนี้:

sudo ufw เปิดใช้งาน

หากคุณได้รับพร้อมท์สำหรับ 'คำสั่งอาจขัดขวางการเชื่อมต่อ ssh ที่มีอยู่" ให้พิมพ์ y และตี เข้าสู่.

เพื่อตรวจสอบการติดตั้ง Lighttpd เข้าถึงเซิร์ฟเวอร์โดยใช้ที่อยู่ IP ในเว็บเบราว์เซอร์ ถ้ามันแสดงหน้าจอต่อไปนี้ แสดงว่าเว็บเซิร์ฟเวอร์ Lighttpd ของคุณได้รับการติดตั้งสำเร็จบนเครื่อง Ubuntu 20.04 ของคุณ

ติดตั้งและกำหนดค่าเซิร์ฟเวอร์ MySQL

MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ตามภาษาการสืบค้นที่มีโครงสร้าง ในการติดตั้งเซิร์ฟเวอร์ MySQL และไคลเอนต์บน Ubuntu 20.04 ให้คัดลอก/วางคำสั่งต่อไปนี้แล้วกด เข้าสู่.

sudo apt-get ติดตั้งเซิร์ฟเวอร์ mysql mysql-client

โดยจะแจ้งข้อความว่าการดำเนินการนี้จะใช้พื้นที่ดิสก์เพิ่มเติม 247 MB ​​หลังการติดตั้ง ดังนั้นพิมพ์ y และตี เข้าสู่.

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

systemctl start mysql systemctl เปิดใช้งาน mysql

คุณจะเห็นข้อความต่อไปนี้บนหน้าจอของคุณ:

ในการตรวจสอบสถานะของบริการ MySQL ของคุณ ให้พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล ดิ mysql.service สถานะควรแสดงเป็น "ใช้งานอยู่ (กำลังทำงาน)"

สถานะ systemctl mysql

ในการกำหนดการตั้งค่าความปลอดภัย MySQL เราจะรันสคริปต์ความปลอดภัยที่มาพร้อมกับแพ็คเกจ MySQL พิมพ์คำสั่งต่อไปนี้แล้วกด Enter เพื่อรันสคริปต์

mysql_secure_installation

คำสั่งดังกล่าวจะแจ้งให้คุณมีคำถามสองสามข้อเพื่อกำหนดค่าเซิร์ฟเวอร์ MySQL

มันจะขอให้คุณตั้งรหัสผ่านโดยใช้ ตรวจสอบส่วนประกอบรหัสผ่าน. ปลั๊กอินนี้จะช่วยคุณตั้งค่ารหัสผ่านที่รัดกุมสำหรับฐานข้อมูล MySQL ของคุณ กด y และกด Enter เพื่อเปิดใช้งานปลั๊กอินนี้ พิมพ์ 0, 1, หรือ 2 เพื่อเลือกนโยบายการตรวจสอบรหัสผ่านซึ่งกำหนดระดับความเข้มงวดของรหัสผ่านของคุณ

ป้อนรหัสผ่านที่รัดกุม ที่ ตรวจสอบรหัสผ่าน ปลั๊กอินจะบอกคุณเกี่ยวกับความแรงโดยประมาณของรหัสผ่านของคุณ กด y และตี เข้าสู่.

หลังจากตั้งค่ารหัสผ่านที่ปลอดภัยแล้ว ให้กำหนดค่าการตั้งค่าที่เหลือตามที่อธิบายไว้ด้านล่าง

  • ลบผู้ใช้ที่ไม่ระบุชื่อ - เข้า y|y

    เนื่องจากโดยค่าเริ่มต้น MySQL มีผู้ใช้ที่ไม่ระบุชื่อที่อนุญาตให้ทุกคนเชื่อมต่อกับเซิร์ฟเวอร์ MySQL โดยไม่ต้องมีบัญชีผู้ใช้ ดังนั้นให้เอาออก

  • ไม่อนุญาตการเข้าสู่ระบบรูทจากระยะไกล - เข้า y|y

    เนื่องจากควรอนุญาตการรูทจาก 'localhost' เท่านั้น ทำให้แน่ใจว่าบางคนไม่สามารถเข้าสู่ระบบในฐานะรูทนอกเครือข่ายของคุณได้

  • ลบฐานข้อมูลทดสอบและเข้าถึงหรือไม่ - เข้า y|y

    เพราะ MySQL มาพร้อมกับฐานข้อมูลทดสอบที่ทุกคนสามารถเข้าถึงได้ ดังนั้น ให้ลบออกก่อนที่จะย้ายไปยังสภาพแวดล้อมการผลิต

  • โหลดตารางสิทธิ์ตอนนี้ใหม่หรือไม่ เข้า y|y

    เพราะสิ่งนี้จะช่วยให้แน่ใจว่าการเปลี่ยนแปลงที่คุณได้ทำไปแล้วจะมีผลทันที

ในการตรวจสอบผู้ใช้ทั้งหมดที่สามารถเข้าถึงเซิร์ฟเวอร์ MySQL ขั้นแรกให้เข้าสู่ระบบ MySQL เป็น root โดยใช้คำสั่งด้านล่าง:

mysql -u root -p

จากนั้นออกคำสั่งต่อไปนี้เพื่อรับรายชื่อผู้ใช้บนเซิร์ฟเวอร์ MySQL ของคุณ:

เลือก User, Host จาก mysql.user;

เมื่อคุณตรวจสอบรายชื่อผู้ใช้แล้ว ให้พิมพ์ ทางออก เพื่อออกจากระบบเชลล์ MySQL

การติดตั้ง PHP – ตัวจัดการกระบวนการ CGI ที่รวดเร็ว (PHP-FPM)

PHP-FPM ช่วยให้เซิร์ฟเวอร์สามารถรองรับการโหลดจำนวนมากได้แม้ในเซิร์ฟเวอร์ระดับล่าง มันอ้างว่าลดเวลาในการโหลดลง 300 เปอร์เซ็นต์สำหรับแอปพลิเคชัน PHP บางตัว

ในการติดตั้งแพ็คเกจ PHP-FPM ล่าสุด ให้พิมพ์คำสั่งต่อไปนี้แล้วกด Enter

sudo apt-install php-fpm php-cgi php-mysql

ปรับแต่งการกำหนดค่า PHP-FPM อย่างละเอียด โดยทำการเปลี่ยนแปลงบางอย่างใน php.ini ไฟล์.

หากต้องการทำสิ่งนี้ก่อนอื่นให้ไปที่ไดเร็กทอรี/etc/php/7.4/fpm ใช้ ซีดี คำสั่งตามที่แสดงด้านล่าง

cd /etc/php/7.4/fpm

จากนั้นใช้คำสั่งด้านล่างเพื่อเปิด php.ini ไฟล์ในตัวแก้ไข vim

vim php.ini

Uncomment the cgi.fix_pathinfo=1 ไลน์. ค้นหาบรรทัดที่มี 'cgi.fix_pathinfo=1'ในบรรณาธิการ เมื่อต้องการทำสิ่งนี้ให้กด 'เอสค’ และพิมพ์ /cgi.fix_pathinfo=1 และตี เข้าสู่.

จากนั้นกด ผม เพื่อเปลี่ยนเป็นโหมดแทรกและถอด ; (อัฒภาค) สัญลักษณ์หน้าบรรทัดหรือกด x ปุ่มเพื่อ uncommenty บรรทัดใน php.ini ไฟล์.

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

เริ่มและเปิดใช้งาน PHP-FPM โดยออกคำสั่งดังนี้

systemctl start php7.4-fpm systemctl เปิดใช้งาน php7.4-fpm

ในการตรวจสอบสถานะของ PHP-FPM ให้รันคำสั่งต่อไปนี้:

สถานะ systemctl php7.4-fpm

การกำหนดค่า Lighttpd และ PHP-FPM

ตอนนี้เราจะทำการเปลี่ยนแปลงบางอย่างใน 15-fastcgi-php.conf ไฟล์กำหนดค่าเพื่อกำหนดค่า Lighttpd และ PHP-FPM

นำทางไปยังไดเร็กทอรีที่เพียงพอโดยพิมพ์คำสั่งนี้แล้วกด Enter

cd ฯลฯ/lighttpd/conf-available/

หากคุณต้องการเก็บสำเนาของ '15-fastcgi-php.conf' จากนั้นใช้คำสั่งด้านล่าง

cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig

ตอนนี้ เราจะเปิดและแก้ไขไฟล์นี้โดยใช้โปรแกรมแก้ไข vim โดยใช้คำสั่งด้านล่าง:

vim 15-fastcgi-php.conf

ในที่นี้ ให้แทนที่เนื้อหาการกำหนดค่าเริ่มต้นของ PHP-CGI ด้วยเนื้อหาที่แสดงด้านล่าง

fastcgi.server += ( ".php" => (( "socket" => "/var/run/php/php7.4-fpm.sock", "broken-scriptfilename" => "enable" )) ) 

โดยทำตามขั้นตอนตามลำดับที่แสดงด้านล่าง

  1. กด 'เอสค' และ 'ผม’ เพื่อเข้าสู่โหมดแทรก
  2. ตอนนี้นำทางไปยังบรรทัดที่เราต้องลบโดยใช้ ขึ้น หรือ ลง ปุ่มลูกศร (ปุ่มลูกศรขึ้นและลงใช้งานได้ในตัวแก้ไข vim ไม่ใช่ในตัวแก้ไข vi)
  3. หากต้องการลบเฉพาะบรรทัดให้กด dd. และหากต้องการลบคำเดียวให้กด x.
  4. ตอนนี้คัดลอก/วางโค้ดด้านบนลงในไฟล์
  5. จากนั้นบันทึกไฟล์และออกจาก vim โดยกด เอสค, :wq, และ เข้าสู่.

ตอนนี้ Lighttpd จะทำงานอย่างเพียงพอกับ PHP-FPM และได้รับการกำหนดค่าอย่างเหมาะสม

เปิดใช้งานโมดูล FastCGI Lighttpd โดยใช้คำสั่งด้านล่าง:

lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php

สุดท้าย ให้รีสตาร์ทเว็บเซิร์ฟเวอร์ Lighttpd เพื่อใช้การกำหนดค่าและการตั้งค่าใหม่

systemctl รีสตาร์ท lighttpd

ทดสอบ เซิร์ฟเวอร์ LLMP ของคุณ

เพื่อทดสอบเซิร์ฟเวอร์ LLMP ที่สร้างขึ้นใหม่ เราจะสร้างไฟล์ในรูทของไดเร็กทอรีสาธารณะที่ /var/www/html.

ขั้นแรกให้นำทางไปยังไดเร็กทอรีโดยใช้คำสั่ง ซีดี คำสั่งตามที่แสดงด้านล่าง

cd /var/www/html/

สร้างไฟล์ใหม่ เอาเป็นว่าfile.php ดังที่แสดงด้านล่างโดยใช้โปรแกรมแก้ไข vim

vim file.php

ตอนนี้พิมพ์สคริปต์ง่าย ๆ นี้ในตัวแก้ไขโดยเข้าสู่โหมดแทรกโดยกด ผม.

บันทึกและออกจากไฟล์โดยกด เอสค และ :wq.

ดิ phpinfo() เป็นฟังก์ชันที่เรียกใช้ข้อมูลที่เกี่ยวข้องกับ php สคริปต์นี้ใช้เพื่อทดสอบว่าใช้งานได้หรือไม่ คุณยังสามารถใช้สคริปต์ php อื่นๆ ที่คุณเลือกได้

สุดท้าย เพื่อทดสอบเซิร์ฟเวอร์ของคุณ ให้เปิดเว็บเบราว์เซอร์ เข้าถึงไฟล์ที่เราเพิ่งสร้างขึ้นโดยป้อนที่อยู่ต่อไปนี้ //your-server-ip/file.php.

หากหน้าเวอร์ชัน PHP ปรากฏขึ้น เราสามารถพูดได้อย่างปลอดภัยว่า LLMP stack ได้รับการติดตั้งสำเร็จบนเครื่อง Ubuntu 20.04 ของคุณ ตอนนี้คุณสามารถติดตั้งแอปพลิเคชัน PHP ที่คุณต้องการเรียกใช้บนเซิร์ฟเวอร์ได้