ในบทช่วยสอนนี้ คุณจะเห็นขั้นตอนที่คุณต้องปฏิบัติตามเพื่อติดตั้งและกำหนดค่า LEMP บน Debian 12 Nginx, MariaDB และ PHP เป็นแพ็คเกจซอฟต์แวร์ที่จำเป็นสำหรับเว็บโฮสติ้งประสิทธิภาพสูง ไม่ว่าจะเป็นสำหรับเว็บไซต์โชว์ผลงาน บล็อก หรือร้านค้าออนไลน์
เนื้อหา
LEMP ย่อมาจาก Linux, Nginx, MySQL/MariaDB, PHP และเป็นพื้นฐานสำหรับโครงการเว็บและเว็บแอปพลิเคชันจำนวนมากทั่วโลก นอกจากนี้ คุณจะไม่สามารถดูบทความนี้ได้หากเบื้องหลัง Stealthsettings.com ไม่มีแพ็คเกจเหล่านี้ทั้งหมดที่รับประกันการทำงานออนไลน์ของเว็บไซต์ของเรา
Debian เป็นระบบปฏิบัติการบน Linux แบบโอเพ่นซอร์สที่มีชื่อเสียงในด้านความเสถียร ความปลอดภัย และความยืดหยุ่น ด้วยประวัติศาสตร์อันยาวนานและชุมชนนักพัฒนาที่กระตือรือร้น Debian นำเสนอแพ็คเกจซอฟต์แวร์และไลบรารีที่หลากหลายเพื่อตอบสนองความต้องการที่หลากหลายของผู้ใช้ ระบบปฏิบัติการนี้มักใช้เพื่อสร้างเซิร์ฟเวอร์ที่เชื่อถือได้และมีประสิทธิภาพสำหรับบริษัทต่างๆ แต่ก็สามารถปรับให้เข้ากับการใช้งานส่วนตัวได้เช่นกัน
วิธีการติดตั้งและกำหนดค่า LEMP บน Debian 12
ขั้นตอนแรกที่คุณต้องทำก่อนติดตั้งและกำหนดค่า LEMP บน Debian 12 คือเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH (หรือจากคอนโซลโดยตรงจากคอนโซลหากคุณมีสิทธิ์เข้าถึงในเครื่อง) ตรวจสอบให้แน่ใจว่าไม่มีแพ็คเกจ LEMP หรือระบบการดูแลระบบ เช่น cPanel, VestaCP หรืออื่นๆ ที่ติดตั้งไว้บนเซิร์ฟเวอร์แล้ว
ชุดคำสั่งในบทช่วยสอนนี้เริ่มต้นด้วย “sudo“แต่ถ้าคุณเชื่อมต่อกับเซิร์ฟเวอร์กับผู้ใช้ “root“มันไม่จำเป็น “sudo” ด้านหน้าบรรทัดคำสั่ง สั่งการ “sudo” ใช้ด้านหน้าบรรทัดคำสั่งเพื่อให้สิทธิ์ superuser แก่ผู้ใช้ทั่วไปเป็นการชั่วคราว โดยอนุญาตให้เรียกใช้คำสั่งที่ต้องใช้สิทธิ์พิเศษหรือการเข้าถึงทรัพยากรที่ได้รับการป้องกัน เช่น การติดตั้งหรือกำหนดค่าซอฟต์แวร์ การดูแลระบบ หรือการดำเนินการที่ละเอียดอ่อนอื่นๆ
อัพเดตซอฟต์แวร์
ก่อนที่จะเริ่มการติดตั้ง LAMP ขอแนะนำให้อัพเดตทั้งระบบปฏิบัติการและแพ็คเกจซอฟต์แวร์ที่ติดตั้งไว้แล้ว
sudo apt update
sudo apt upgrade
หากมีแพ็คเกจให้อัพเดตกด “Y” เมื่อถูกถามว่า:
Do you want to continue? [Y/n] Y
การติดตั้งและกำหนดค่า Nginx Web Server บน Debian 12
เพื่อให้เว็บเซิร์ฟเวอร์สามารถให้บริการหน้าเว็บแก่ผู้เยี่ยมชมได้ Nginx Web Server จะต้องติดตั้งและกำหนดค่าอย่างถูกต้อง
sudo apt install nginx
กำลังพิมพ์ “Y” เพื่อยืนยันการติดตั้ง Nginx Web Server
Do you want to continue? [Y/n] Y

เส้นเมื่อสิ้นสุดกระบวนการติดตั้ง เส้นควรมีลักษณะดังนี้:
Setting up nginx-common (1.22.1-9) ...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
Setting up nginx (1.22.1-9) ...
Upgrading binary: nginx.
Processing triggers for man-db (2.11.2-2) ...
สุดท้ายนี้ เพื่อให้แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้อง ให้ไปที่ที่อยู่นั้น IP ในเว็บเบราว์เซอร์ http://your_server_ip-

บริการ Nginx เปิดใช้งานและทำงานบนเซิร์ฟเวอร์ของคุณและพร้อมที่จะให้บริการหน้าเว็บ
ที่เกี่ยวข้อง:
การติดตั้งและกำหนดค่าเซิร์ฟเวอร์ MariaDB บน Debian 12
MariaDB นำเสนอประสิทธิภาพที่ได้รับการปรับปรุง ความเร็วการจำลองที่เร็วขึ้น มาตรการรักษาความปลอดภัยที่เพิ่มขึ้น และกลไกการจัดเก็บข้อมูลเพิ่มเติมเมื่อเทียบกับ MySQL
เรียกใช้บรรทัดคำสั่งด้านล่างแล้วพิมพ์ “Y” เพื่อยืนยันการติดตั้ง MariaDB Server-
sudo apt install mariadb-server
หลังการติดตั้ง คุณจะต้องรักษาความปลอดภัยเซิร์ฟเวอร์ MariaDB โดยการรันสคริปต์: mysql_secure_installation- มันจะจำกัดการเข้าถึงเซิร์ฟเวอร์และลบบัญชีที่ไม่ได้ใช้
เรียกใช้บรรทัดคำสั่ง:
sudo mysql_secure_installation
กด “Enter” สำหรับรหัสผ่านปัจจุบันของผู้ใช้ “root“-

Switch to unix_socket authentication [Y/n] Y
ตั้งรหัสผ่านสำหรับ MariaDB-
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
ถัดไป คุณจะลบสิทธิ์และฐานข้อมูลที่ตั้งไว้เป็นค่าเริ่มต้นระหว่างการติดตั้ง MariaDB Server-
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
รหัสผ่านที่ตั้งไว้ด้านบนสำหรับบัญชี “root” จำเป็นเมื่อคุณเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกล ระยะไกล. นี่คือรหัสผ่านสำหรับ MariaDB-
ทดสอบการติดตั้ง SQL Server ของคุณ
root@mars:~# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 41
Server version: 10.11.3-MariaDB-1 Debian 12
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> select version();
+-------------------+
| version() |
+-------------------+
| 10.11.3-MariaDB-1 |
+-------------------+
1 row in set (0.000 sec)
MariaDB [(none)]> quit
Bye
root@mars:~#
การติดตั้งและกำหนดค่า PHP / PHP-FPM บน Debian 12
หากทุกอย่างทำงานได้ดีจนถึงขั้นตอนนี้ คุณต้องมีซอฟต์แวร์ PHP ด้วยจึงจะติดตั้งและกำหนดค่า LEMP บน Debian 12 ได้ สำหรับการรองรับ PHP ใน Nginx คุณต้องติดตั้ง PHP-FPM ด้วย
sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml
รอให้กระบวนการติดตั้งเสร็จสิ้น PHP-FPMพร้อมด้วยโมดูล PHP ที่สำคัญที่สุด
ในที่สุดฉันก็สามารถติดตั้งได้ในบทช่วยสอนของฉัน PHP 8.2 บนระบบปฏิบัติการ Debian 12
root@mars:~# php -v
PHP 8.2.7 (cli) (built: Jun 9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies
root@mars:~#
ณ จุดนี้ องค์ประกอบทั้งหมดของ LEMP ได้รับการติดตั้งแล้ว แต่ยังคงมีการกำหนดค่าบางอย่างที่ต้องทำ Nginx เพื่อรันไฟล์ PHP
การกำหนดค่า NGINX เพื่อรันไฟล์ PHP
เพื่อกำหนดค่า Nginx สำหรับเพจ “ค่าเริ่มต้น”, แก้ไข “/etc/nginx/sites-enabled/default“- ฉันชอบ “nano” สำหรับการแก้ไข
เข้ามาแทน. “location /” เส้น:
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
ด้วยบรรทัด:
location / {
try_files $uri $uri/ /index.php?$args;
}
จากนั้นเพิ่มบรรทัดด้านล่างลงในบล็อก “server” เพื่อให้ Nginx ประมวลผล PHP
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
}
}

บันทึกไฟล์และตรวจสอบการกำหนดค่า:
root@mars:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@mars:~#
หากการทดสอบการกำหนดค่าสำเร็จ ให้เริ่มบริการใหม่ nginx-
sudo systemctl restart nginx
ทดสอบว่าคุณติดตั้งและกำหนดค่า LEMP บน Debian 12 สำเร็จหรือไม่
หลังจากที่คุณติดตั้งและกำหนดค่า Nginx, MariaDB และ PHP บน Debian 12 (LEMP) แล้ว ก็ถึงเวลาทดสอบว่าทุกอย่างใช้งานได้หรือไม่ วิธีทดสอบที่ง่ายที่สุดคือสร้างไฟล์ info.php
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
เข้าถึงได้ในเบราว์เซอร์ “https://your_server_ip/info.php“-

หน้า PHP หมายความว่าคุณติดตั้ง LEMP สำหรับ Debian 12 สำเร็จแล้ว
ยินดีด้วย!