ตัวแทนระหว่างประเทศของ Alibaba Cloud: สร้างสภาพแวดล้อม LNMP บนเซิร์ฟเวอร์ Alibaba Cloud CentOS/Ubuntu
ในแวดวงการพัฒนาเว็บและการดำเนินการและการบำรุงรักษาเซิร์ฟเวอร์คำว่า "LNMP" เป็นหลักสูตรภาคบังคับสำหรับสถาปนิกและการพัฒนาส่วนหลังเกือบทุกคน
ที่เรียกว่า
LNMP
,ก็คือ
แอล
Inux (ระบบปฏิบัติการ)
เอ็น
Ginx (เว็บเซิร์ฟเวอร์ประสิทธิภาพสูง)
เอ็ม
YSQL (ฐานข้อมูลเชิงสัมพันธ์)
พี
การผสมผสานสีทองของ hp (ภาษาสคริปต์) ไม่ว่าจะเป็นการสร้างบล็อก WordPress ไซต์อิสระของไมโครมอลล์ที่สร้างขึ้นเองหรือเรียกใช้อินเทอร์เฟซ API ระดับองค์กรที่ซับซ้อน LNMP ได้รับการยอมรับว่าเป็นฐานที่ประหยัดทรัพยากรและมีความสามารถในการทำงานพร้อมกันมากที่สุดในประเทศจีน
ผู้มาใหม่หลายคนซื้อเซิร์ฟเวอร์ ECS ของ Alibaba Cloud และมองไปที่บรรทัดคำสั่ง Linux สีดำ (เทอร์มินัล) ที่เย็นชาโดยไม่รู้ว่าจะเริ่มจากตรงไหนมีบทแนะนำเก่าๆมากมายบนอินเทอร์เน็ตเมื่อห้าหรือหกปีที่แล้วเวอร์ชันซอฟต์แวร์ในนั้นล้าสมัยไปนานแล้วและจะมีการรายงานข้อผิดพลาดทุกครั้งที่พิมพ์โค้ด
ในบทความวันนี้เราละทิ้งเอกสารราชการที่เข้มงวดและคำศัพท์ทางวิชาชีพที่ลึกลับและใช้รูปแบบของคนจริงในภาษาพื้นถิ่นเพื่อนำทาง
จับมือคุณกับระบบ CentOS หรือ Ubuntu ที่ใช้บ่อยที่สุดของ Alibaba Cloud เพื่อสร้างสภาพแวดล้อม LNMP ล่าสุดและเสถียรที่สุดในปี2569ตั้งแต่เริ่มต้น
。
การเตรียมการ: เปิดช่องปลอดภัยสำหรับ Alibaba Cloud
ก่อนล็อกอินเข้าสู่เซิร์ฟเวอร์และพิมพ์คำสั่งมีสองสิ่งที่สำคัญมากแต่มองข้ามได้ง่าย
ตัวแทนระหว่างประเทศของ Alibaba Cloud
ลงชื่อเข้าใช้เซิร์ฟเวอร์ของคุณ: ใช้เทอร์มินัลที่มาพร้อมกับคอมพิวเตอร์ (Mac/Linux) หรือเครื่องมือของบุคคลที่สามเช่น PuTTY, Xshell(Windows) และเข้าสู่ระบบผ่าน ssh root @ คุณ Alibaba Cloud Public Network IP
ปล่อย Alibaba Cloud Security Group (คำเตือนหลุมใหญ่!): เซิร์ฟเวอร์ของ Alibaba Cloud จะล็อกการเข้าถึงเครือข่ายภายนอกอย่างสมบูรณ์โดยค่าเริ่มต้นหากไม่ได้กำหนดค่ากลุ่มความปลอดภัยคุณจะระเบิด Nginx ในภายหลังและไม่สามารถเปิดหน้าเว็บได้วิธีการปฏิบัติ: ลงชื่อเข้าใช้ Alibaba Cloud Console-> ค้นหาตัวอย่าง ECS ของคุณ-> คลิก [กลุ่มความปลอดภัย] -> [กฎการกำหนดค่า] -> ปล่อยพอร์ต80 (HTTP), พอร์ต443 (HTTPS) ในทิศทางขาเข้าและสะดวกสำหรับคุณเชื่อมต่อพอร์ต3306ของฐานข้อมูล
เมื่อคุณพร้อมแล้วให้เข้าสู่ขั้นตอนการติดตั้งอย่างเป็นทางการ
ขั้นตอนที่1: การเริ่มต้นและการอัปเดตสภาพแวดล้อม (การเลือกระบบ)
เนื่องจากระบบกระแสหลักในปัจจุบันของ Alibaba Cloud แบ่งออกเป็น
CentOS (และ Anolis/Alibaba Cloud Linux ที่พัฒนาขึ้นเองโดย Ali)
และ
อูบุนตู
ทั้งสองค่ายมีตัวจัดการแพ็กเกจ (คำสั่งติดตั้ง) ที่แตกต่างกันในขั้นตอนต่อไปนี้ฉันจะให้คำสั่งสองระบบในเวลาเดียวกันคุณสามารถ "เช็คอิน" ตามระบบที่คุณเลือกเมื่อซื้อเซิร์ฟเวอร์
CentOS / Alibaba Cloud Linux ระบบ:
แบช
# อัปเดตแพ็คเกจระบบเป็นเวอร์ชันล่าสุด
Yum update -y
ระบบ Ubuntu:
Bas
เอช
# อัปเดตดัชนีแหล่งที่มาของซอฟต์แวร์ท้องถิ่นและอัปเกรด
Apt update & & apt upgrade -y
ขั้นตอนที่2: ติดตั้ง Nginx (เว็บเซิร์ฟเวอร์ประสิทธิภาพสูง)
Nginx รับผิดชอบในการตอบสนองคำขอการเข้าถึงของผู้ใช้ที่ส่วนหน้า
1.ดำเนินการคำสั่งติดตั้ง
CentOS/Alibaba Cloud Linux:Bashyum install nginx -y
Ubuntu: Bashpt install nginx -y
2.เริ่มต้นและตั้งค่าการบูตด้วยตนเอง
ไม่ว่าระบบจะเป็นอย่างไรให้ป้อนคำสั่งสองบรรทัดต่อไปนี้เพื่อเริ่ม Nginx และตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์สามารถกลับมามีชีวิตได้ด้วยตัวเองหลังจากรีสตาร์ท:
แบช
systemctl start nginx
Systemctl enable nginx
3.ผลการตรวจสอบ
เปิดเบราว์เซอร์คอมพิวเตอร์ของคุณและป้อนโดยตรงในแถบที่อยู่
Alibaba Cloud Public Network IP ของคุณ
(ตัวอย่าง:
http:// 123.45.67.89
)。ถ้า "Welcome to nginx!" ปรากฏบนหน้าจอขอแสดงความยินดี Nginx เริ่มต้นได้สำเร็จ!
ขั้นตอนที่3: ติดตั้ง MySQL (คลังกระสุนข้อมูล)
เนื่องจาก MySQL เวอร์ชันดั้งเดิมค่อนข้างหนักและมีประสิทธิภาพที่ดีกว่าและเข้ากันได้อย่างสมบูรณ์ในแหล่งซอฟต์แวร์ Linux จำนวนมาก
MariaDB
ทางเลือกเราติดตั้ง MySQL/MariaDB ที่สำคัญที่สุดที่นี่โดยตรง
1.ดำเนินการคำสั่งติดตั้ง
CentOS/Alibaba Cloud Linux:
Yum install mariadb-server mariadb -y
Ubuntu: Bashpt install mysql-server -y
2.เริ่มให้บริการ
แบช
# CentOS เปิด MariaDB
Systemctl start mariadb & & systemctl enable mariadb
# Ubuntu เปิด MySQL
Systemctl start mysql & & systemctl enable mysql
3.เริ่มต้นการตั้งค่าความปลอดภัยของฐานข้อมูล (มือใหม่ต้องทำ)
ฐานข้อมูลที่เพิ่งติดตั้งเป็น "สตรีม" และไม่มีรหัสผ่านต้องเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มต้นการกำหนดค่าความปลอดภัย:
แบช
Mysql_secure_installation
ชุดคำถามและคำตอบจะปรากฏขึ้นในระบบโปรดตอบตามจังหวะต่อไปนี้:
ป้อนรหัสผ่านสำหรับรูท: กด Enter โดยตรง (เนื่องจากไม่มีรหัสผ่านในตอนแรก)
Set root password? [Y/n]: ป้อน Y และตั้งค่าไฟล์
รหัสผ่านผู้ดูแลระบบขั้นสูงของฐานข้อมูล (จดบันทึกด้วยโน้ตบุ๊กขนาดเล็กอย่าลืม)
ติดตาม Remove anonymous users? (ลบผู้ใช้ที่ไม่ระบุชื่อ), Disallow root login remotely? (ห้ามล็อกอินจากระยะไกลของรูท), ฐานข้อมูลการทดสอบ Remove? (ลบไลบรารีทดสอบ) ป้อน Y เพื่อกด Enter
ขั้นตอนที่4: ติดตั้ง PHP (เครื่องมือที่ทำให้หน้าเว็บเคลื่อนที่)
Nginx สามารถจัดการหน้าเว็บ HTML แบบคงที่เท่านั้นหากพบคำขอแบบไดนามิกเช่นการเข้าสู่ระบบของผู้ใช้และการอ่านฐานข้อมูลจะต้องจ้างบุคคลภายนอกไปยัง PHP
เพื่อให้มั่นใจในประสิทธิภาพเราติดตั้งกระแสหลักและวงจรชีวิตที่ดีต่อสุขภาพ
PHP 8.x
เวอร์ชัน
1.ติดตั้ง PHP และส่วนประกอบหลัก
CentOS/Alibaba Cloud Linux (ต้องติดตั้งซอร์สส่วนขยายขององค์กรก่อน):Bashyum install epel-release -y จากนั้นติดตั้ง PHP และส่วนขยายหลักสำหรับการสื่อสารกับ Nginx/MySQL: Bashyum install php php-fpm php-mysqlnd php-json php-gd php-xml -y
Ubuntu: Bashpt install php php-fpm php-mysql -y
2.เริ่ม PHP-FPM
PHP-FPM เป็นผู้จัดการกระบวนการที่รอให้ Nginx มอบหมายงานในพื้นหลังอย่างเงียบๆ
แบช
Systemctl start php-fpm
Systemctl enable php-fpm
ขั้นตอนที่5: ผ่านสองช่องทางของ Ren และ Du-กำหนดค่า Nginx เพื่อเชื่อมต่อ PHP
ตอนนี้ส่วนประกอบหลักทั้งสี่ได้รับการติดตั้งแล้วแต่ก็ยังคงเป็น "เกาะ" ที่พวกเขาต่อสู้กันเราจำเป็นต้องแก้ไขไฟล์คอนฟิกูเรชันของ Nginx และบอกว่า: "ตราบใดที่คุณพบ
.Php
คำขอในตอนท้ายจะถูกส่งไปยัง PHP-FPM พื้นหลังเพื่อประมวลผล"
1.ค้นหาและแก้ไขโปรไฟล์เริ่มต้น
โดยปกติไฟล์คอนฟิกูเรชันเริ่มต้นคือ
/Etc/nginx/nginx.conf
หรือ
/Etc/nginx/conf.d/default .conf
。เราเปิดด้วยโปรแกรมแก้ไขข้อความที่มาพร้อมกับระบบ:
แบช
Vi/etc/nginx/conf.d/defult.conf
(หากระบบใหม่ไม่มีไฟล์นี้คุณสามารถสร้างไฟล์ใหม่ได้โดยตรงและวางการกำหนดค่ามาตรฐานต่อไปนี้)
:
Server {
Listen 80;
Server_name
Localhost; # แทนที่ด้วยชื่อโดเมนของคุณในภายหลัง
ราก/usr/share/nginx/html; # ไดเรกทอรีรากของเว็บไซต์ของคุณ
Index index.php index.html index.htm;
Location/ {
Try_files $ uri $ uri/ = 404;
}
# แกน: ผ่านการกำหนดค่าที่สำคัญของ PHP-FPM
Location ~ \.Php $ {
Fastcgi_pass 127.0.0.1:9000; # หรือ unix:/run/php/ php8.x-fpm .sock
Fastcgi_index index.php;
Fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
Include fastcgi_params;
}
}
บันทึกและออกจากระบบ (ในตัวแก้ไข vi กด
Esc
, อินพุต
: Wq
กด Enter)
2.รีสตาร์ท Nginx เพื่อให้การกำหนดค่ามีผล
ก่อนรีสตาร์ทคุณสามารถพิมพ์
Nginx-t
ตรวจสอบว่ามีข้อผิดพลาดทางไวยากรณ์ในไฟล์คอนฟิกูเรชันที่คุณเพิ่งเปลี่ยนหรือไม่ถ้าไม่ให้รีสตาร์ทอย่างเด็ดขาด:
แบช
ตัวแทนระดับนานาชาติของอาลีบาบาคลาวด์
Systemctl restart nginx
ขั้นตอนที่6: การทดสอบขั้นสูงสุด-วิ่งข้ามเส้นทั้งหมด
การทำงานหนักและหยาดเหงื่อทั้งหมดจะนำไปสู่การทดสอบในขั้นตอนนี้
ไปที่ไดเร็กทอรีรากของเว็บไซต์ (ในไฟล์คอนฟิกูเรชัน
/Usr/share/nginx/html
) สร้างไฟล์ทดสอบใหม่:
แบช
Vi/usr/share/nginx
/Html/info.php
เขียนรหัสทดสอบ PHP คลาสสิกสามบรรทัดในไฟล์:
PHP
<? พีเอชพี
Phpinfo ();
?>
บันทึกการออก
ตอนนี้เปิดเบราว์เซอร์คอมพิวเตอร์อีกครั้งและป้อนไฟล์
อาลีบาบาคลาวด์สาธารณะ IP/info.php
(ตัวอย่าง:
เอชที
Tp: // 123.45.67.89 /info.php
)。
หากคุณสามารถดูโทนสีม่วงหรือสีน้ำเงินที่ละเอียดมากบนหน้าจอ
PHP Version 8.x
กำหนดค่าตารางขนาดใหญ่ซึ่งพิสูจน์ได้:
Nginx ของคุณส่งคำขอไปยัง PHP สำเร็จ PHP ทำงานได้ตามปกติและสภาพแวดล้อม LNMP ทั้งหมดได้รับการประกาศอย่างสมบูรณ์ว่าสร้างสำเร็จแล้ว!
สรุปและคู่มือการบำรุงรักษาประจำวัน
ยินดีด้วย! ณจุดนี้คุณได้เสร็จสิ้นการเปลี่ยนแปลงจาก Xiaobai ไปสู่การดำเนินการและการบำรุงรักษาขั้นต้นเซิร์ฟเวอร์ Alibaba Cloud ของคุณมีความสามารถในการรองรับเว็บไซต์ที่แข็งแกร่งอยู่แล้ว
สุดท้ายเราจะส่งกฎเหล็กสามข้อสำหรับการบำรุงรักษาประจำวันของสภาพแวดล้อมการผลิต:
ลบไฟล์ทดสอบหลังการทดสอบ: หลังจากการทดสอบสำเร็จอย่าลืมเรียกใช้ rm -f /usr/share/nginx/html/info.php ทันทีเพื่อลบไฟล์ทดสอบนี้เนื่องจากหน้านี้เปิดเผยข้อมูลการกำหนดค่าที่ละเอียดอ่อนมากเกินไปบนเซิร์ฟเวอร์ของคุณการอยู่บนอินเทอร์เน็ตจึงเท่ากับการส่งจดหมายเชิญไปยังแฮกเกอร์
คำสั่งสามบรรทัดคุ้นเคยเป็นอย่างดี: เมื่อคุณแก้ไขโค้ดหรือพบว่าไม่สามารถเปิดหน้าเว็บได้คุณสามารถใช้คำสั่งรีสตาร์ทสามบรรทัดต่อไปนี้เพื่อแก้ไขปัญหา: systemctl restart nginx (เริ่มบริการเว็บใหม่) systemctl restart php-fpm (เริ่มกระบวนการ PHP ใหม่) systemctl restart mysql (หรือ mariadb รีสตาร์ทฐานข้อมูล)
วางรากฐานแล้วถัดไปคุณสามารถใส่ซอร์สโค้ด WordPress หรือเฟรมเวิร์กโอเพนซอร์สต่างๆได้อย่างปลอดภัยและเริ่มการเดินทางของคุณเพื่อสร้างรายได้จากการสั่งซื้อหรือการเข้าชม!
ตัวแทนระดับนานาชาติของอาลีบาบาคลาวด์

