บทแนะนำที่ดีที่สุดของ Alibaba Cloud Nginx: ตั้งแต่การปรับใช้เว็บไซต์แบบคงที่ไปจนถึงการกำหนดค่าพร็อกซีย้อนกลับประสิทธิภาพสูง

Cloud 2026-07-08 阅读 37
1

ในการเปลี่ยนแปลงทางดิจิทัลขององค์กรในปัจจุบันการสร้างระบบเว็บที่มีความพร้อมใช้งานสูงพร้อมกันสูงและสถาปัตยกรรมที่สวยงามนั้นแยกไม่ออกจากโครงสร้างพื้นฐานระบบคลาวด์ที่เหมาะสมและการเลือกเว็บเซิร์ฟเวอร์ที่ยอดเยี่ยม ECS(Elastic Compute Service) เซิร์ฟเวอร์คลาวด์ของ Alibaba Cloud เป็นฐานพลังงานคอมพิวเตอร์อันดับต้นๆในประเทศจีนและทั่วโลกพร้อมด้วยเซิร์ฟเวอร์ที่ขับเคลื่อนด้วยเหตุการณ์แบบอะซิงโครนัสประสิทธิภาพสูง

Nginx

ได้กลายเป็นการกำหนดค่ามาตรฐานของสถาปัตยกรรมอินเทอร์เน็ตส่วนใหญ่

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

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

และมิติอื่นๆจะพาคุณไปทำความเข้าใจอย่างลึกซึ้งเกี่ยวกับการปรับแต่งขั้นสูงของ Nginx ในสภาพแวดล้อมระบบคลาวด์ของอาลีบาบา

การเตรียมการ: การเตรียมโครงสร้างพื้นฐาน

ก่อนเริ่มการกำหนดค่าทั้งหมดคุณต้องมีเซิร์ฟเวอร์ Linux ที่ทำงานในระบบคลาวด์ก่อน

📌เคล็ดลับในการเลือกสถาปัตยกรรม: สำหรับบริษัทในต่างประเทศหรือธุรกิจที่มีความต้องการที่เข้มงวดในการยกเว้นการยื่นมักจะเลือกเวอร์ชันระหว่างประเทศของ Alibaba Cloud (เช่นฮ่องกงสิงคโปร์และโหนดตะวันตกของสหรัฐอเมริกา) ในขณะที่ธุรกิจที่มีส่วนร่วมอย่างลึกซึ้งในตลาดในประเทศนั้นมีแนวโน้มมากกว่าโหนดแผ่นดินใหญ่เวอร์ชันในประเทศบริษัทในต่างประเทศหลายแห่งไม่สามารถลงทะเบียนได้โดยตรงเนื่องจากไม่มีวิธีการชำระเงินในต่างประเทศหรือข้อมูลประจำตัวในต่างประเทศในขณะนี้การซื้อบัญชี Alibaba Cloud และการเติมเงินที่เป็นไปตามข้อกำหนดผ่านผู้ให้บริการช่องทางที่ได้รับอนุญาตอย่างเป็นทางการได้กลายเป็นแผนการเลือกที่มีประสิทธิภาพและปลอดภัยที่สุดในอุตสาหกรรม

1.เปิดพอร์ตกลุ่มความปลอดภัย

เมื่ออินสแตนซ์ ECS ของคุณพร้อมก่อนอื่นคุณต้องลงชื่อเข้าใช้คอนโซล Alibaba Cloud เพิ่มกฎทิศทางในกลุ่มความปลอดภัยที่ตรงกับอินสแตนซ์และปล่อยพอร์ตเว็บหลักสองพอร์ตต่อไปนี้:

TCP 80พอร์ต: สำหรับการเข้าถึง HTTP ปกติ

พอร์ต TCP 443: การเข้าถึง HTTPS สำหรับการเข้ารหัส

2.การปรับปรุงสภาพแวดล้อมของระบบด้วยการติดตั้ง Nginx

กระแสหลักในปัจจุบัน

Alinux 3 / CentOS 8

ระบบเป็นตัวอย่างเราใช้

Dnf

หรือ

Yum

ผู้จัดการแพคเกจได้อย่างรวดเร็วติดตั้ง Nginx:

Bash

# อัพเดตแพคเกจระบบ

Sudo dnf update -y

# ติดตั้ง Nginx

Sudo dnf install -y nginx

# เริ่มบริการและตั้งค่าการบูตด้วยตนเอง

Sudo systemctl start nginx

Sudo systemctl enable nginx

# ตรวจสอบสถานะการทำงานของ Nginx

Sudo systemctl status nginx

เมื่อสถานะปรากฏเป็น

Active (running)

เมื่อคุณป้อน IP เครือข่ายสาธารณะ ECS ของคุณในเบราว์เซอร์หากคุณเห็น

หน้าต้อนรับของ Nginx ระบุว่าสภาพแวดล้อมพื้นฐานได้รับการตั้งค่าเรียบร้อยแล้ว

1.การต่อสู้ขั้นสูง: การปรับใช้เว็บไซต์แบบคงที่

ในการผลิตจริงให้แก้ไขไฟล์คอนฟิกูเรชันหลักโดยตรง

/Etc/nginx/nginx.conf

ไม่ใช่นิสัยที่ดีแนวทางปฏิบัติที่ดีที่สุดของ Nginx คือ

เก็บโปรไฟล์หลักให้สะอาดและสร้างแยกต่างหากสำหรับแต่ละเว็บไซต์ที่แยกต่างหากใน/etc/nginx/conf.d/ไดเรกทอรีโปรไฟล์ conf

สมมติว่าเราต้องการปรับใช้แอปพลิเคชันหน้าเดียวที่ทันสมัย (SPA เช่นโครงการ Vue หรือ React)

1.สร้างมาตรฐานแคตตาล็อกโครงการ

แบช

Sudo mkdir-p/www/ wwwroot/mysite

# อัปโหลดไฟล์ในไดเร็กทอรี dist ที่บรรจุไว้ในส่วนหน้าไปยังไดเร็กทอรีนั้น

2.เขียนโปรไฟล์ไซต์

ใน

/Etc/nginx/conf.d/

สร้างภายใต้ไดเร็กทอรี

Mysite.conf

:

แบช

Sudo vim/etc/nginx/conf.d/mysite.conf

กรอกการกำหนดค่ามาตรฐานสภาพแวดล้อมการผลิตต่อไปนี้:

เอ็นจินซ์

Server {

Listen 80;

Example.com www.example.com server_name; # แทนที่ชื่อโดเมนจริงของคุณ

Root/www/ wwwroot/mysite;

Index index.html index.htm;

# เปิดการบีบอัด Gzip ช่วยเพิ่มความเร็วในการโหลดหน้าจอแรกในสภาพแวดล้อมเครือข่ายในทะเล

Gzip on;

Gzip_min_length 1k;

Gzip_comp_level 6;

Gzip_types text/plain text/css application/json application/javascript text/xml;

# แก้ปัญหา404ภายใต้โหมดประวัติเส้นทางส่วนหน้า

Location/ {

Try_files $ uri $ uri/ /index.html;

}

# การเพิ่มประสิทธิภาพแคชทรัพยากรแบบคงที่

Location ~ * \. (Jpg | jpeg | png | gif | ico | css | js)$ {

Expires 7d;

Access_log off;

}

# ข้อผิดพลาดการเปลี่ยนเส้นทางหน้า

Error_page 404 /404.html;

Error_page 500 502 503 504 /50x.html;

Location = /50x.html {

Root/usr/share/nginx/html;

}

}

⚠คำเตือนการปฏิบัติตามข้อกำหนด: หากการแก้ปัญหาชื่อโดเมนของคุณชี้ไปที่อินสแตนซ์ ECS ของ Alibaba Cloud ในจีนแผ่นดินใหญ่ชื่อโดเมนจะต้องยื่น ICP กับกระทรวงอุตสาหกรรมและเทคโนโลยีสารสนเทศมิฉะนั้นไฟร์วอลล์ขอบเขตของ Alibaba Cloud จะบล็อกคำขอการเข้าถึงพอร์ต80/443โดยอัตโนมัติหากไม่สามารถยื่นธุรกิจได้ขอแนะนำให้ใช้ผู้ให้บริการช่องทางเพื่อซื้อบริการสถานีระหว่างประเทศผ่านบัญชี Alibaba Cloud และปรับใช้เว็บไซต์ในโหนดในฮ่องกงหรือต่างประเทศ

2.แกนขั้นสูง: ตัวแทนย้อนกลับและการกำหนดค่าการแยกไดนามิกและคงที่

Reverse Proxy เป็นฟังก์ชันที่ทรงพลังที่สุดของ Nginx ภายใต้สถาปัตยกรรมนี้ Nginx เป็นทางเข้าเดียวสำหรับการรับส่งข้อมูลมีหน้าที่รับคำร้องขอจากไคลเอ็นต์จากนั้นส่งต่อคำขอไปยังเซิร์ฟเวอร์แอปพลิเคชันจริง (เช่น Tomcat, Node.js, Go, Python หรือ Spring Boot)

สิ่งนี้ไม่เพียง

ซ่อน IP จริงของเซิร์ฟเวอร์แบ็กเอนด์

ปรับปรุงความปลอดภัยและสามารถรับปริมาณงานพร้อมกันที่สูงขึ้น

1.พื้นฐานตัวแทนย้อนกลับ

สมมติว่าแอปพลิเคชัน Spring Boot ส่วนหลังของคุณกำลังทำงานในอินสแตนซ์เดียวกัน

8080

บนพอร์ตและไม่ต้องการเปิดเผยพอร์ต8080เราสามารถกำหนดค่าใน Nginx:

2.ระดับการผลิตขั้นสูง: การแยกแบบไดนามิกและคงที่และการกำหนดเส้นทางหลายพอร์ต

ในสถาปัตยกรรมระดับองค์กรที่ซับซ้อนมากขึ้นเรามักใช้ชื่อโดเมนเดียวกันเพื่อแยกความแตกต่างผ่านคำนำหน้า URL

ทรัพยากรคงที่ส่วนหน้า

กับ

อินเทอร์เฟซ API แบบไดนามิกแบ็คเอนด์

:

ผ่านสิ่งนี้

การแยกแบบไดนามิกและแบบคงที่

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

3.การกำหนดค่าที่มีประสิทธิภาพและแนวทางการดำเนินการและการบำรุงรักษา

หลังจากแก้ไขไฟล์คอนฟิกูเรชัน Nginx แล้ว

อย่ารีสตาร์ทบริการโดยตรงและสุ่มสี่สุ่มห้า

。หากมีข้อผิดพลาดทางไวยากรณ์ในการกำหนดค่า (ตัวอย่างเช่นไม่มีเครื่องหมายเซกโต

;

หรือวงเล็บปีกกาไม่ปิด) การรีสตาร์ทโดยตรงจะทำให้บริการเว็บออนไลน์ล่มทันทีและไม่สามารถดึงขึ้นได้

กระบวนการโอเวอร์โหลดที่ราบรื่นที่ถูกต้อง

1.การตรวจสอบไวยากรณ์: ตรวจสอบความปลอดภัยของบริการออนไลน์

ดำเนินการในเทอร์มินัล

Sudo nginx -t

คำสั่ง

ถ้ากลับ

Nginx: configuration file... Test is successful

, พิสูจน์ว่าไวยากรณ์ของไฟล์คอนฟิกูเรชันถูกต้องสมบูรณ์

แน่นอน.

2.โหลดเรียบ (Reload): ศูนย์หยุดการอัปเดตความร้อน

ดำเนินการคำสั่ง:

Sudo systemctl reload nginx

Reload

กับ

Restart

มันจะนำกระบวนการ Master ของ Nginx ไปใช้อย่างราบรื่นเพื่อรับกระบวนการทำงานใหม่เพื่อจัดการกับคำขอใหม่ในขณะที่กระบวนการทำงานเก่าจะถูกทำลายโดยอัตโนมัติหลังจากประมวลผลการเชื่อมต่อปัจจุบันเพื่อให้บรรลุ

ธุรกิจโดยไม่มีการหยุดชะงัก

การอัปเดตการกำหนดค่า

4.สรุปและข้อเสนอแนะสำหรับการเลือกบริษัทในต่างประเทศ

การกำหนดค่าของ Nginx มีการเปลี่ยนแปลงตลอดเวลาแต่ก็แยกกันไม่ออกผ่านการแบ่งโฮสต์เสมือนที่เหมาะสมอย่างเข้มงวด

Proxy_pass

ส่วนหัวของคำขอถูกส่งผ่านผ่านและด้วยการเชื่อมโยงเครือข่ายที่เสถียรและยอดเยี่ยมของ Alibaba Cloud ECS คุณสามารถรองรับแอปพลิเคชัน PV เฉลี่ยต่อวันได้อย่างง่ายดาย

สุดท้ายผู้ปฏิบัติงานด้านคลาวด์คอมพิวติ้งอาวุโสเตือนคุณ:

การออกแบบสถาปัตยกรรมต้องเป็นไปตามข้อกำหนด

หากคุณพบว่าความล่าช้าของ API ส่วนหลังสูงเกินไปเนื่องจากความผันผวนของเครือข่ายข้ามพรมแดนในระหว่างขั้นตอนการกำหนดค่าหรือพลาดโอกาสทางการตลาดเนื่องจากรอบการจัดเก็บข้อมูลที่ยาวนานคุณควรวางแผนระยะยาวในช่วงเริ่มต้นของการวางแผนสำหรับบริษัทที่มีความต้องการในการขยายธุรกิจในต่างประเทศโดยเฉพาะให้เลือกช่องทาง Reseller ของบุคคลที่สามที่เป็นทางการซึ่งรับประกันโดยสัญญาอย่างเป็นทางการ

การซื้อด้วยบัญชีอาลีคลาวด์

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

1
← 返回新闻中心