ในบทช่วยสอนนี้ คุณจะเห็นขั้นตอนที่คุณต้องปฏิบัติตามเพื่อติดตั้งและกำหนดค่า 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
” ถูกใช้หน้าบรรทัดคำสั่งเพื่อให้สิทธิ์ผู้ใช้ระดับสูงแก่ผู้ใช้ทั่วไปเป็นการชั่วคราว โดยอนุญาตให้ผู้ใช้ดำเนินการคำสั่งที่ต้องใช้สิทธิ์พิเศษหรือการเข้าถึงทรัพยากรที่ได้รับการป้องกัน เช่น การติดตั้งหรือกำหนดค่าซอฟต์แวร์ การดูแลระบบ หรือการดำเนินการอื่นๆ ที่ละเอียดอ่อน
Update ซอฟต์แวร์
ก่อนที่จะเริ่มการติดตั้ง LAMP ขอแนะนำให้อัพเดตทั้งระบบปฏิบัติการและแพ็คเกจซอฟต์แวร์ที่ติดตั้งไว้แล้ว
sudo apt update
sudo apt upgrade
หากมีแพ็คเกจสำหรับ update, กด "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 สำเร็จแล้ว
ขอแสดงความยินดี!