NGINX vs Apache: เว็บเซิร์ฟเวอร์ที่ดีที่สุดสำหรับ WordPress คืออะไร?
เผยแพร่แล้ว: 2023-02-12ในการเรียกใช้เว็บไซต์ WordPress คุณต้องโฮสต์บนเว็บเซิร์ฟเวอร์ นี่คือสิ่งที่ทำให้เว็บเบราว์เซอร์สามารถขอข้อมูลไซต์ของคุณได้ อย่างไรก็ตาม มีตัวเลือกเว็บเซิร์ฟเวอร์หลายตัว ซึ่งอาจทำให้การเลือกใช้งานเป็นเรื่องยาก
แม้ว่าจะมีเว็บเซิร์ฟเวอร์มากมายให้เลือก แต่ Apache และ NGINX ก็เป็นตัวเลือกยอดนิยม แต่เว็บเซิร์ฟเวอร์ใดในสองเว็บที่ดีที่สุด
เว็บเซิร์ฟเวอร์ทั้งสองนี้จัดการมากกว่า 50% ของการเข้าชมเว็บทั้งหมด แม้ว่าพวกเขาจะมีคุณสมบัติหลายอย่างร่วมกัน แต่ก็มีข้อแตกต่างที่คุณต้องทราบซึ่งสามารถช่วยให้คุณเลือกสิ่งที่ถูกต้องสำหรับไซต์ของคุณได้ ในบทความนี้ เราจะพูดถึงความแตกต่างระหว่าง NGINX และ Apache จากนั้นเราจะมาดูกันว่าคุณสามารถติดตั้ง WordPress บนเซิร์ฟเวอร์ทั้งสองประเภทได้อย่างไร มาเริ่มกันเลย!
การเปรียบเทียบประสิทธิภาพ: NGINX กับ Apache
ดังที่เราได้กล่าวไว้ก่อนหน้านี้ NGINX และ Apache เป็นตัวเลือกเว็บเซิร์ฟเวอร์ที่โดดเด่นที่สุด พวกเขาสามารถจัดการกับปริมาณงานที่หลากหลายและทำงานร่วมกับซอฟต์แวร์อื่นๆ เพื่อสร้าง LAMP และ LEMU stacks อย่างไรก็ตาม เพื่อที่จะเปรียบเทียบเว็บเซิร์ฟเวอร์เหล่านี้ได้อย่างถูกต้อง คุณจะต้องเข้าใจว่าเซิร์ฟเวอร์เหล่านี้แตกต่างกันอย่างไร
อาปาเช่
Apache เป็นเซิร์ฟเวอร์ที่เก่ากว่าในสองเซิร์ฟเวอร์ และเปิดตัวและพัฒนาครั้งแรกโดย Apache Software Foundation ในปี 1995 โดย Robert McCool ตั้งแต่ปี 1996 Apache เป็นเว็บเซิร์ฟเวอร์อันดับต้น ๆ และมีการใช้งานโดยเว็บไซต์ประมาณ 38.7% ปัจจุบัน Apache Foundation ยังคงเผยแพร่เวอร์ชันสำหรับ Apache ต่อไป
โมดูล Apache ให้ประโยชน์มากมาย ได้แก่:
- ตัวเลือกการติดตั้งล่วงหน้า: Apache ติดตั้งไว้ล่วงหน้าบนลีนุกซ์รุ่นหลักๆ
- ชุมชนผู้ใช้: Apache มีชุมชนผู้ใช้ขนาดใหญ่ที่ให้ความช่วยเหลือซึ่งกันและกัน
- ระบบโหลดโมดูลไดนามิก: ระบบนี้หยุดไม่ให้คุณสัมผัสกับแพ็คเกจหลักเมื่อทำการอัพเดทเซิร์ฟเวอร์
- เขียน URL ใหม่ใน .htaccess : Apache 2 ใช้ mod_rewrite สำหรับการเขียนใหม่ทั้งหมด
- การออกแบบโมดูลาร์: Apache ให้การปรับแต่งและความยืดหยุ่นที่มากขึ้นเนื่องจากการออกแบบโมดูลาร์
- การกำหนดค่าเซิร์ฟเวอร์โดยใช้ไฟล์ httpd.conf : การกำหนดค่าทำได้ง่าย เนื่องจากคุณไม่จำเป็นต้องเข้าถึงไฟล์ apache2.conf หลัก
- ทำหน้าที่เป็นเซิร์ฟเวอร์ "เกตเวย์": Apache ยังสามารถทำหน้าที่เป็นเซิร์ฟเวอร์พร็อกซีย้อนกลับ
เซิร์ฟเวอร์ Apache เป็นเว็บเซิร์ฟเวอร์ที่ใช้งานง่ายพร้อมคุณสมบัติการปรับแต่งมากมาย ซอฟต์แวร์นี้ยังเข้ากันได้กับเซิร์ฟเวอร์ Unix และ Windows
NGINX
NGINX เปิดตัวในปี 2547 โดย Igor Sysoev ซึ่งเป็นผู้ก่อตั้ง NGINX Inc. เพื่อแก้ปัญหา C10K นี่คือความท้าทายที่เว็บเซิร์ฟเวอร์ต้องเผชิญเมื่อจัดการกับคำขอการเชื่อมต่อพร้อมกัน 10,000 รายการขึ้นไป
เพื่อแก้ปัญหานี้ NGINX ได้รับการพัฒนาให้เป็นสถาปัตยกรรมแบบอะซิงโครนัส ไม่มีการบล็อก และอิงตามเหตุการณ์ นี่เป็นหนึ่งในข้อแตกต่างหลักระหว่าง NGINX และ Apache นอกจากนี้ยังเป็นหนึ่งในเหตุผลที่เว็บไซต์ประมาณ 32.1% ใช้ NGINX
มีประโยชน์อื่น ๆ อีกมากมายที่ NGINX มอบให้ เช่น:
- การออกแบบที่มีน้ำหนักเบา : NGINX สามารถทำงานบนฮาร์ดแวร์ขั้นต่ำและใช้หน่วยความจำน้อยกว่า Apache
- การจัดการเนื้อหาแบบคงที่ : NGINX ให้การจัดการเนื้อหาแบบคงที่ที่ดีกว่าเมื่อกำหนดค่าอย่างถูกต้อง
- การตอบสนองต่อการโหลดสูง : NGINX ยังคงตอบสนองได้ดีเมื่อมีทราฟฟิกหนาแน่น
- การออกแบบที่ใช้งานง่าย : เส้นโค้งการเรียนรู้นั้นง่ายกว่า และ NGINX นั้นเป็นมิตรกับผู้เริ่มต้น
- การติดตั้งแบบแยกส่วน : การออกแบบของเซิร์ฟเวอร์นี้ช่วยให้สามารถสร้างได้อย่างยืดหยุ่นและโมดูลของบุคคลที่สามที่หลากหลาย
- พร็อกซีย้อนกลับ: NGINX Plus นำเสนอพร็อกซีย้อนกลับที่ใช้ซอฟต์แวร์ซึ่งมีความสามารถคล้ายกับโซลูชันที่ใช้ฮาร์ดแวร์ในราคาที่ต่ำกว่า
NGINX และ NGINX Plus มักถูกมองว่าเป็นตัวเลือกที่ดีกว่าสำหรับเว็บไซต์ที่มีการเข้าชมสูง เนื่องจากความสามารถในการจัดสรรภาระงานเพื่อรองรับโหลดที่หนักกว่า นอกจากนี้ยังเหมาะอย่างยิ่งสำหรับการรักษาประสิทธิภาพสูงสุดในไซต์ที่มีเนื้อหาเว็บคงที่จำนวนมาก
Apache และ NGINX ต่างกันอย่างไร
แม้ว่า NGINX และ Apache HTTP Server จะคล้ายกัน แต่ก็มีความแตกต่างมากมายระหว่างสองสิ่งนี้ ความแตกต่างที่ใหญ่ที่สุดคือวิธีที่เว็บเซิร์ฟเวอร์เหล่านี้จัดการกับคำขอของไคลเอ็นต์หลายรายการ Apache ใช้วิธีแก้ปัญหาแบบแยกส่วน ในขณะที่ NGINX ใช้การวนรอบเหตุการณ์ที่ไม่ปิดกั้น
Apache มี Multi-Processing Modules (MPM) ที่กำหนดวิธีการทำงานของการจัดการคำขอ วิธีการแบบแยกส่วนทำให้การสลับสถาปัตยกรรมการจัดการการเชื่อมต่อทำได้ง่ายขึ้น โมดูลที่ใช้ในวิธีนี้เป็นส่วนเสริมของฟังก์ชันหลักของ Apache โมดูลการประมวลผลหลายโมดูลเริ่มต้นกระบวนการที่แตกต่างกันสำหรับการจัดการคำขอของเซิร์ฟเวอร์
ตัวอย่างหนึ่งคือ mpm-worker – โมดูลที่สร้างกระบวนการจัดการหลายเธรด แต่ละเธรดเป็นการเชื่อมต่อเดียวไปยังเซิร์ฟเวอร์ การเพิ่มโมดูลนี้ทำให้สามารถปรับขนาดของเซิร์ฟเวอร์และเปิดใช้งานการจัดการการรับส่งข้อมูลจำนวนมาก
NGINX แตกต่างและวางไข่เฉพาะกระบวนการของผู้ปฏิบัติงานสำหรับการจัดการคำขอพร้อมกัน กระบวนการเหล่านี้เป็นเหตุการณ์ที่ไม่ปิดกั้นซึ่งจะตรวจสอบและประมวลผลคำขอหลายรายการอย่างต่อเนื่อง การตรวจสอบอย่างต่อเนื่องนี้สร้างการวนซ้ำ เหตุการณ์ทั้งหมดในลูปเป็นแบบอะซิงโครนัสและจะถูกลบออกจากลูปเมื่อการเชื่อมต่อปิดลง
ซอฟต์แวร์เว็บเซิร์ฟเวอร์ WordPress ที่ดีที่สุดคืออะไร?
ทั้ง Apache และ NGINX ทำงานได้ดีกับ WordPress โฮสติ้ง อย่างไรก็ตาม NGINX อาจเป็นตัวเลือกที่ดีกว่าหากคุณต้องการประสิทธิภาพที่ดีขึ้น มาดูวิธีการติดตั้ง WordPress บนเซิร์ฟเวอร์ทั้งสองประเภท คุณจะได้พร้อมที่จะเริ่มต้นกับเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่ง
วิธีติดตั้ง WordPress บน Apache
ในการติดตั้ง WordPress บน Apache คุณจะต้องตั้งค่าสแต็ก LAMP (Linux, Apache, MySQL และ PHP) โดยทั่วไปจะทำบนเซิร์ฟเวอร์ Ubuntu
ขั้นตอนที่ 1: สร้างผู้ใช้ Sudo บนเซิร์ฟเวอร์ของคุณ
หากต้องการสร้างผู้ใช้ ให้เข้าสู่ระบบเซิร์ฟเวอร์ของคุณในฐานะผู้ใช้รูท จากนั้นใช้คำสั่ง เพิ่มผู้ใช้ ด้านล่างเพื่อสร้างบัญชีใหม่:
$ adduser username
เซิร์ฟเวอร์จะแจ้งให้คุณตั้งและยืนยันรหัสผ่าน จากนั้นกรอกรายละเอียดสำหรับผู้ใช้ จากนั้นคุณสามารถให้สิทธิ์การเข้าถึง sudo แก่ผู้ใช้รายนั้น การเข้าถึงนี้อนุญาตให้ผู้ใช้เรียกใช้คำสั่งที่ผู้ใช้รูทกรอกตามปกติ
หากต้องการเพิ่มผู้ใช้ลงในกลุ่ม sudo ให้ป้อนคำสั่งต่อไปนี้:
$ usermod -aG sudo username
จากนั้น คุณจะต้องลงชื่อเข้าใช้เซิร์ฟเวอร์ในฐานะผู้ใช้ sudo สำหรับขั้นตอนการติดตั้งที่เหลือ
ขั้นตอนที่ 2: ติดตั้ง Apache เว็บเซิร์ฟเวอร์
ในการติดตั้ง Apache คุณจะต้องใช้ Ubuntu package manager apt นี่เป็นค่าเริ่มต้นบนเซิร์ฟเวอร์ Ubuntu การป้อนคำสั่ง sudo ต่อไปนี้จะเริ่มการติดตั้งหลังจากที่คุณป้อนรหัสผ่าน:
$ sudo apt update $ sudo apt install apache2
จากนั้นคุณจะเห็นแพ็คเกจที่จะติดตั้งและพื้นที่ดิสก์ที่จำเป็น กด Y แล้ว Enter เพื่อเริ่มการติดตั้ง
ขั้นตอนที่ 3: ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล MySQL
ถัดไป คุณจะต้องติดตั้งระบบจัดการฐานข้อมูล MySQL คำสั่งต่อไปนี้ในตัวจัดการแพ็คเกจจะเริ่มการติดตั้ง:
$ sudo apt install mysql-server
แพ็คเกจและพื้นที่ดิสก์ที่ต้องการจะแสดงอีกครั้ง ในการเริ่มการติดตั้ง ให้กด Y และตั้งรหัสผ่านรูท
ขั้นตอนที่ 4: ติดตั้ง PHP
PHP เป็นส่วนหนึ่งของ LAMP stack ของคุณที่ประมวลผลโค้ดไปยังเนื้อหาแบบไดนามิก ในการติดตั้ง คุณควรป้อนคำสั่งต่อไปนี้:
$ sudo apt install php libapache2-mod-php php-mysql
PHP ควรติดตั้งโดยไม่มีปัญหาใด ๆ คุณจะต้องรีสตาร์ทเซิร์ฟเวอร์เพื่อทำการติดตั้งสแต็กให้เสร็จสมบูรณ์ โดยป้อนคำสั่งต่อไปนี้:
$ sudo systemctl restart apache2
LAMP stack ของคุณได้รับการติดตั้งและกำหนดค่าแล้ว
ขั้นตอนที่ 5: ตั้งค่าโฮสต์เสมือน
โฮสต์เสมือนสรุปรายละเอียดการกำหนดค่าและเป็นขั้นตอนที่แนะนำ การห่อหุ้มช่วยให้คุณสามารถโฮสต์เว็บไซต์ได้มากกว่าหนึ่งแห่งบนเซิร์ฟเวอร์
เซิร์ฟเวอร์ Apache เริ่มต้นเป็นไดเร็กทอรี /var/www/html ซึ่งไม่สะดวกสำหรับหลายเว็บไซต์ หากต้องการสร้างโฮสต์เสมือน คุณจะต้องตั้งค่าโครงสร้างไดเร็กทอรีใน /var/www สำหรับโดเมนของเว็บไซต์ใหม่
ใช้คำสั่งต่อไปนี้เพื่อสร้างโครงสร้างนี้:
sudo mkdir /var/www/new_domain
เปลี่ยน new_domain เป็นโดเมนของเว็บไซต์ของคุณ จากนั้นสร้างไฟล์ index.html พร้อมเนื้อหาตัวอย่างโดยใช้คำสั่ง nano :
$ nano /var/www/new_domain/index.html
เพื่อให้แน่ใจว่า Apache ให้บริการเนื้อหาของคุณ คุณจะต้องสร้างไฟล์โฮสต์ด้วย คำสั่งต่อไปนี้สร้างไฟล์คอนฟิกูเรชัน:
$ sudo nano /etc/apache2/sites-available/your_domain.conf
จากนั้นเพิ่มบล็อกการกำหนดค่าต่อไปนี้:
<VirtualHost *:80> ServerAdmin [email protected] ServerName new_domain ServerAlias www.new_domain DocumentRoot /var/www/new_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
คำสั่งถัดไปเปิดใช้งานไฟล์ ในขณะที่คำสั่งที่สองปิดใช้งานไซต์เริ่มต้นบนเซิร์ฟเวอร์:
$ sudo a2ensite new_domain.conf $ sudo a2dissite 000-default.conf
โฮสต์เสมือนของคุณควรได้รับการกำหนดค่าและใช้งานได้แล้ว ไดเร็กทอรีที่สร้างขึ้นใหม่นี้ควรใช้สำหรับการติดตั้ง WordPress
ขั้นตอนที่ 6: ติดตั้ง WordPress
หลังจากกำหนดค่า LAMP stack ของคุณแล้ว คุณสามารถติดตั้ง WordPress ได้ ดาวน์โหลด WordPress เวอร์ชันล่าสุดและติดตั้งด้วยคำสั่งต่อไปนี้:
$ sudo apt update $ sudo apt install wordpress php libapache2-mod-php mysql-server php-mysql
จากนั้น กำหนดค่า Apache สำหรับ WordPress และสร้างฐานข้อมูล MySQL จากนั้นใช้อินเทอร์เฟซเว็บเบราว์เซอร์ WordPress เพื่อกำหนดค่าเว็บไซต์ให้เสร็จสมบูรณ์ ซึ่งรวมถึงการสร้างชื่อไซต์และตั้งรหัสผ่าน
วิธีติดตั้ง WordPress บน NGINX
ในการติดตั้ง WordPress บน NGINX คุณต้องมีเซิร์ฟเวอร์ที่ใช้งานหนึ่งในการกระจายที่ NGINX Unit รองรับ หากคุณใช้ Linux คุณจะสร้างสแต็ก LEMU (Linux, NGINX, MySQL และ NGINX Unit)
ขั้นตอนที่ 1: ติดตั้ง MySQL
ก่อนเริ่มต้น ให้สร้างผู้ใช้เซิร์ฟเวอร์ด้วยการเข้าถึง sudo เข้าสู่ระบบเซิร์ฟเวอร์ของคุณในฐานะผู้ใช้ root และใช้คำสั่งต่อไปนี้เพื่อสร้างบัญชีใหม่:
$ adduser username
คุณจะต้องป้อนและยืนยันรหัสผ่านก่อนที่จะกรอกรายละเอียดสำหรับผู้ใช้ จากนั้นคุณสามารถให้สิทธิ์การเข้าถึง sudo แก่ผู้ใช้รายนั้น การเข้าถึงนี้ช่วยให้ผู้ใช้สามารถดำเนินการคำสั่งที่ผู้ใช้รูทกรอกตามปกติ
หากต้องการเพิ่มผู้ใช้ลงในกลุ่ม sudo ให้ป้อนคำสั่งต่อไปนี้:
$ usermod -aG sudo username
เข้าสู่ระบบเซิร์ฟเวอร์ในฐานะผู้ใช้ sudo และใช้คำสั่งต่อไปนี้เพื่อติดตั้ง MySQL:
$ sudo apt-get install mysql-server
ป้อนรหัสผ่านรูทใหม่ เครื่องมือกำหนดค่า MySQL สามารถเรียกใช้ได้ นี่คือวิซาร์ดการกำหนดค่าที่จะแนะนำคุณตลอดกระบวนการติดตั้ง
ขั้นตอนที่ 2: สร้างฐานข้อมูล MySQL
เมื่อ MySQL พร้อมแล้ว คุณสามารถสร้างฐานข้อมูลใหม่ได้ คุณจะต้องสร้างผู้ใช้ใหม่ที่มีสิทธิ์การจัดการ ในการทำเช่นนี้ให้ลงชื่อเข้าใช้บัญชีรูทของ MySQL และป้อนคำสั่งต่อไปนี้:
$ sudo mysql -u root -p mysql> CREATE DATABASE wordpress; mysql> CREATE USER [email protected] IDENTIFIED BY 'secure_password'; mysql> GRANT ALL PRIVILEGES ON wordpress.* TO [email protected]; mysql> FLUSH PRIVILEGES; mysql> Exit Bye
คำสั่ง Flush Privileges ทำให้แน่ใจว่า MySQL รู้จักการเปลี่ยนแปลงที่คุณทำ คุณควรเปลี่ยนชื่อผู้ใช้และรหัสผ่านเริ่มต้นให้ตรงกับความต้องการของคุณ
ขั้นตอนที่ 3: ติดตั้ง WordPress
ก่อนติดตั้ง WordPress คุณควรสร้างตำแหน่งไฟล์ชั่วคราวโดยใช้คำสั่งต่อไปนี้:
$ cd /var/www/ $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar xzvf latest.tar.gz
คำสั่งนี้ยังดาวน์โหลดและคลายไฟล์ WordPress
ขั้นตอนที่ 4: กำหนดค่า WordPress
จากนั้น สร้างสำเนาของไฟล์การกำหนดค่า WordPress และเปลี่ยนชื่อโดยใช้คำสั่งต่อไปนี้:
$ cd /var/www/wordpress $ sudo cp wp-config-sample.php wp-config.php
คุณสามารถอัปเดตคีย์ SALT ในไฟล์เพื่อปรับปรุงความปลอดภัย การใช้ nano เปิดไฟล์ wp-config.php และทำให้คุณสามารถค้นหาคีย์ SALT ได้:
$ sudo nano wp-config.php
แทนที่คีย์ด้วยคีย์ที่สร้างขึ้นใหม่ จากนั้นบันทึกและออกจากไฟล์
ขั้นตอนที่ 5: ติดตั้ง PHP
แม้ว่าคุณจะใช้ NGINX Unit ได้ แต่คุณควรติดตั้ง PHP คุณสามารถใช้คำสั่งต่อไปนี้เพื่อดำเนินการดังกล่าว:
$ sudo apt-get install -y php7.0 php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt
สิ่งนี้จำเป็นเนื่องจาก WordPress ใช้ส่วนขยายหลายตัวที่ไม่รวมอยู่ในหน่วย NGINX
ขั้นตอนที่ 6: ติดตั้งหน่วย NGINX
สุดท้าย คุณจะต้องติดตั้งหน่วย NGINX ที่คอมไพล์แล้วสำหรับระบบปฏิบัติการของเซิร์ฟเวอร์ของคุณ ใช้คำสั่งต่อไปนี้เพื่อติดตั้งโมดูลสำหรับ PHP:
$ sudo apt-get install unit-php $ sudo service unit restart $ sudo curl -X PUT --data-binary @/usr/share/doc/unit-php/examples/unit.config --unix-socket /run/control.unit.sock http://localhost/config $ curl http://localhost:8300/
คำสั่งเหล่านี้ยังตรวจสอบว่า NGINX Unit และ PHP ทำงานได้อย่างถูกต้อง
ถัดไป คุณต้องติดตั้งและกำหนดค่า NGINX Open Source คุณสามารถติดตั้งแพ็คเกจที่สร้างไว้ล่วงหน้าได้จากสาขาหลัก ซึ่งรวมถึงฟีเจอร์และแพตช์ล่าสุด หลังจากการกำหนดค่านี้ WordPress จะพร้อมใช้งาน
เรียนรู้ต่อไปด้วย WP Engine
Apache และ NGINX เป็นตัวเลือกซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่ได้รับความนิยมสูงสุด แต่ในการต่อสู้ระหว่าง NGINX กับ Apache อันไหนจะเหนือกว่ากัน? แม้จะมีความคล้ายคลึงกันในหลาย ๆ ด้าน แต่เซิร์ฟเวอร์ NGINX นั้นให้ประสิทธิภาพที่ดีกว่าสำหรับเว็บไซต์ที่มีการเข้าชมสูง อย่างไรก็ตาม Apache มีชุมชนขนาดใหญ่พร้อมเอกสารประกอบเพิ่มเติม
แน่นอน คุณต้องมีหลายอย่างในการพัฒนาเว็บไซต์ที่โดดเด่น ซึ่งรวมถึงเครื่องมือที่เหมาะสม ทรัพยากรที่ดีที่สุด และเว็บโฮสติ้งชั้นยอด!
สำหรับ SEO และทรัพยากรเกี่ยวกับเว็บเพิ่มเติม เช่น การเพิ่มประสิทธิภาพ WordPress และการทำความเข้าใจข้อผิดพลาด HTTP 400 โปรดดูศูนย์ทรัพยากรของเราเพื่อปรับปรุงไซต์ของคุณ