บทช่วยสอนนี้จะแนะนำวิธีเพิ่มประสิทธิภาพเว็บไซต์ของคุณและทำให้มันเร็วโดยการลดขนาดไฟล์โดยใช้การบีบอัด GZIP ใน Nginx
บทความนี้อยู่ในความต่อเนื่องของชุดการสอนของเราเกี่ยวกับ Nginx จนถึงตอนนี้เราได้กล่าวถึงวิธีการใช้ Nginx เป็นโหลดบาลานซ์วิธีใช้ Nginx เป็นพร็อกซีย้อนกลับ และตอนนี้บทช่วยสอนนี้ครอบคลุมคำถามที่เรียกร้องอีกครั้ง“ วิธีเพิ่มประสิทธิภาพเว็บไซต์ของคุณโดยใช้การบีบอัด GZIP ใน Nginx” ในบทช่วยสอนนี้เราจะแนะนำคุณทีละขั้นตอนเกี่ยวกับวิธีการเปิดใช้งานการบีบอัด GZIP ใน Nginx ดังนั้นมาเริ่มกันเถอะ!
- การเพิ่มประสิทธิภาพเว็บไซต์ด้วยการบีบอัด
- การบีบอัด GZIP คืออะไร
- การบีบอัด GZIP ทำงานอย่างไร
- เปิดใช้งานการบีบอัด GZIP ใน nginx
- ตรวจสอบการบีบอัด GZIP
- บทสรุป
การเพิ่มประสิทธิภาพเว็บไซต์ด้วยการบีบอัด
ประสิทธิภาพของเว็บไซต์ขึ้นอยู่กับปัจจัยหลายประการ หนึ่งในปัจจัยที่ขึ้นอยู่กับบางส่วนคือขนาดของไฟล์ทั้งหมดที่เบราว์เซอร์ของผู้ใช้ต้องดาวน์โหลดจากเซิร์ฟเวอร์ของคุณ การลดหรือบีบอัดขนาดของไฟล์ที่ส่งสามารถทำให้เว็บไซต์ของคุณโหลดได้เร็วขึ้นสำหรับผู้ใช้ นอกจากนี้ยังสามารถลดใบเรียกเก็บเงินสำหรับเว็บไซต์ของคุณในกรณีที่คุณจ่ายค่าใช้จ่ายสำหรับการใช้แบนด์วิดท์ในการเชื่อมต่อแบบมิเตอร์ ดังนั้นการบีบอัดจึงมีบทบาทสำคัญมากในการเพิ่มประสิทธิภาพเว็บไซต์ของคุณ ในฐานะที่เป็น Google และเครื่องมือค้นหาอื่น ๆ กำลังพิจารณาประสบการณ์การใช้งานของเว็บไซต์ (UX) เป็นปัจจัยสำคัญในอัลกอริทึมการจัดอันดับ การปรับปรุงและเพิ่มประสิทธิภาพเว็บไซต์ของคุณสำหรับการจัดอันดับสูงสุด หนึ่งในปัจจัยที่สำคัญที่สุดที่จะต้องใส่ใจคือความเร็วของหน้าและเวลาในการโหลด และวิธีที่เร็วที่สุดและง่ายที่สุดในการปรับปรุงความเร็วและประสิทธิภาพของเว็บไซต์ของคุณคือการเปิดใช้งานการบีบอัด GZIP บนเว็บไซต์ของคุณ
การบีบอัด GZIP คืออะไร?
GZIP เป็นรูปแบบไฟล์ และแอปพลิเคชันซอฟต์แวร์ ใช้สำหรับการบีบอัดไฟล์และการบีบอัด เว็บเซิร์ฟเวอร์หรือซอฟต์แวร์อื่น ๆ ใช้การบีบอัด GZIP เพื่อบีบอัดไฟล์ข้อมูลก่อนที่จะถูกส่งไปยังเบราว์เซอร์ของผู้ใช้ สิ่งนี้จะช่วยลดเวลาดาวน์โหลดไฟล์ซึ่งทำให้เว็บไซต์ของคุณเร็วขึ้น เบราว์เซอร์ที่ทันสมัยทั้งหมดรองรับการบีบอัด GZIP สิ่งสำคัญคือต้องทราบว่าจะต้องเปิดใช้งานการบีบอัด GZIP บนเว็บเซิร์ฟเวอร์ของคุณก่อนที่คุณจะสามารถเปิดใช้งานการบีบอัดไฟล์และโฟลเดอร์ ในไม่ช้าเราจะเห็นวิธีเปิดใช้งานการบีบอัด GZIP ใน Nginx
การบีบอัด GZIP ทำงานอย่างไร?
GZIP ซึ่งเป็นวิธีการบีบอัดที่ได้รับความนิยมมากที่สุดใช้โดยเว็บเซิร์ฟเวอร์และเบราว์เซอร์เพื่อบีบอัดและคลายเนื้อหาตามที่ส่งผ่านทางอินเทอร์เน็ต มันถูกใช้เป็นส่วนใหญ่ในไฟล์รหัสและข้อความ GZIP สามารถลดขนาดของไฟล์ JavaScript, CSS และ HTML ได้มากถึง 90% โดยค่าเริ่มต้นการบีบอัด GZIP ไม่ได้บีบอัดภาพหรือวิดีโอ นี่คือเหตุผลที่เครื่องมือทดสอบความเร็วของเว็บไซต์ส่วนใหญ่เช่น Google Pagespeed Insights ขอแนะนำให้เปิดใช้งานการบีบอัด GZIP เมื่อเว็บเซิร์ฟเวอร์ได้รับคำขอสำหรับหน้าเว็บเว็บเซิร์ฟเวอร์จะตรวจสอบส่วนหัวของคำขอเพื่อตรวจสอบว่าเบราว์เซอร์รองรับ GZIP หรือไม่ ถ้าเป็นเช่นนั้นเซิร์ฟเวอร์จะสร้างมาร์กอัปสำหรับหน้าก่อนที่จะใช้ GZIP GZIP แปลงมาร์กอัป HTML เป็นข้อมูลที่ถูกบีบอัดซึ่งจะถูกส่งไปยังผู้ใช้ปลายทาง เมื่อผู้ใช้ปลายทางได้รับข้อมูลที่ถูกบีบอัดเบราว์เซอร์จะคลายการบีบอัด
เปิดใช้งานการบีบอัด GZIP ใน nginx
หากต้องการเปลี่ยนการกำหนดค่า NGINX GZIP ให้เปิดไฟล์การกำหนดค่า Nginx หลักใน“ VI” หรือตัวแก้ไขข้อความที่คุณชื่นชอบ:
sudo vi /etc/nginx/nginx.conf
ค้นหาส่วนการตั้งค่า gzip ซึ่งมีลักษณะเช่นนี้:
. . .
##
# `gzip` Settings
#
#
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
. . .
อย่างที่คุณเห็น GZIP เปิดใช้งานโดยค่าเริ่มต้นด้วย _GZIP ON; _ แต่มีความคิดเห็นอื่น ๆ ที่แสดงการตั้งค่า GZIP เราสามารถเปิดใช้งานการตั้งค่า gzip_types เพื่อเปิดใช้งานการบีบอัดในประเภทไฟล์ที่เราต้องการบีบอัด ตัวอย่างเช่น
. . .
##
# `gzip` Settings
#
#
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types
application/atom+xml
application/geo+json
application/javascript
application/x-javascript
application/json
application/ld+json
application/manifest+json
application/rdf+xml
application/rss+xml
application/xhtml+xml
application/xml
font/eot
font/otf
font/ttf
image/svg+xml
text/css
text/javascript
text/plain
text/xml;
. . .
ตอนนี้รีสตาร์ท Nginx เพื่อทำการตั้งค่าใหม่
ตรวจสอบการบีบอัด GZIP
ตอนนี้เราได้เปิดใช้งานการบีบอัด GZIP ให้ตรวจสอบ
curl -H "Accept-Encoding: gzip" -I http://localhost/test.html
การตอบสนองจะยังคงเหมือนเดิมเนื่องจากการบีบอัดได้รับการเปิดใช้งานแล้วสำหรับไฟล์นั้น:
Output
HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Mon, 08 Feb 2021 11:03:41 GMT
Content-Type: text/html
Last-Modified: Mon, 08 Feb 2021 11:03:41 GMT
Connection: keep-alive
ETag: W/"6222dc8d-500"
<strong>Content-Encoding: gzip</strong>
บทสรุป
ในบทความนี้เราได้เรียนรู้ว่าคุณสามารถใช้โมดูล Nginx GZIP เพื่อเพิ่มความเร็วในการถ่ายโอนไฟล์ เราแสดงให้คุณเห็นทีละขั้นตอนวิธีเปิดใช้งานการบีบอัด GZIP ใน Nginx โดยใช้โมดูล GZIP เอกสารอย่างเป็นทางการสำหรับ GZIP Module แสดงรายการคำสั่งการกำหนดค่าอื่น ๆ ที่คุณอาจต้องการดู หวังว่าการสอนนี้จะช่วยให้คุณเพิ่มประสิทธิภาพและความเร็วของเว็บไซต์