ค้นหาเว็บไซต์

วิธีการติดตั้ง WordPress ด้วย Nginx บน Debian และ Ubuntu


NGINX (ออกเสียงว่า engine-x) เป็นเซิร์ฟเวอร์ HTTP แบบโอเพ่นซอร์สที่ทรงพลัง บางเบา และยืดหยุ่น ซึ่งได้รับความนิยมเพิ่มขึ้นในปีที่ผ่านมา และตอนนี้เป็นอินเทอร์เฟซเซิร์ฟเวอร์หลักที่ ขับเคลื่อนเว็บไซต์ที่มีปริมาณการเข้าชมมากที่สุดในปัจจุบัน เช่น Facebook, WordPress, Sourceforge หรืออื่นๆ

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

สำหรับระบบที่ใช้ Ubuntu และ Debian นั้น Nginx ได้รับการคอมไพล์เป็นแพ็คเกจในที่เก็บอยู่แล้ว และสามารถติดตั้งผ่านยูทิลิตี้แพ็คเกจ apt

นอกจากนี้ยังรองรับ Virtual Hosts เช่น Apache และใช้ช่อง Fastcgi เพื่อสื่อสารกับไฟล์ PHP บนเซิร์ฟเวอร์ผ่าน PHP-FPM.

บทช่วยสอนนี้ครอบคลุมถึงการติดตั้งและการกำหนดค่าไฟล์พื้นฐานสำหรับ Nginx เพื่อโฮสต์เว็บไซต์ WordPress CMS บน โฮสต์เสมือน และการตั้งค่านำไปใช้กับ Ubuntu 18.04 /20.04, Debian 10/9 และ Linux Mint 20/19/18

การติดตั้งเว็บเซิร์ฟเวอร์ Nginx

1. การติดตั้ง Nginx สำหรับ Ubuntu, Debian หรือ Linux Mint นั้นตรงเหมือนกับแพ็คเกจอื่นๆ และสามารถติดตั้งได้ ด้วยคำสั่งง่ายๆ

sudo apt-get install nginx

2. ถัดไป เริ่มต้น เปิดใช้งาน และตรวจสอบสถานะของ Nginx ใช้คำสั่ง systemctl ต่อไปนี้

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

การติดตั้งเซิร์ฟเวอร์ PHP และ MariaDB

3. เพื่อให้ Nginx สามารถเรียกใช้ WordPress ได้ คุณต้องติดตั้ง PHP, PHP- แพ็คเกจ FPM และ MariaDB

sudo apt-get install php php-mysql php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip mariadb-server mariadb-client

4. ถัดไป ตรวจสอบว่าบริการฐานข้อมูล MariaDB ทำงานและเปิดใช้งานเพื่อเริ่มต้นโดยอัตโนมัติเมื่อระบบของคุณถูกบูท

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

5. ในการสื่อสารกับแบ็กเอนด์ FastCGI บริการ PHP-FPM จะต้องเปิดใช้งานบนเซิร์ฟเวอร์

sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
sudo systemctl status php7.4-fpm

6. ตอนนี้ คุณต้องทำให้การติดตั้ง MariaDB ของคุณปลอดภัยโดยการรันสคริปต์ mysql_secure_installation ซึ่งมาพร้อมกับแพ็คเกจ MariaDB

sudo mysql_secure_installation

หลังจากเรียกใช้สคริปต์แล้ว ระบบจะนำคุณไปสู่ชุดคำถามที่คุณสามารถตอบ ใช่(y) เพื่อปรับปรุงความปลอดภัยของการติดตั้ง MariaDB ด้วยวิธีต่อไปนี้:

  • ป้อนรหัสผ่านปัจจุบันสำหรับ root (ไม่ต้องใส่): Enter
  • ตั้งรหัสผ่านรูท? [ใช่/n] <รหัส>y
  • ลบผู้ใช้ที่ไม่ระบุชื่อออกใช่ไหม [ใช่/n] <รหัส>y
  • ไม่อนุญาตให้ล็อกอินรูทจากระยะไกลใช่ไหม [ใช่/n] <รหัส>y
  • ลบฐานข้อมูลทดสอบและเข้าถึงได้หรือไม่ [ใช่/n] <รหัส>y
  • โหลดตารางสิทธิพิเศษตอนนี้เลยไหม [ใช่/n] <รหัส>y

การติดตั้งเวิร์ดเพรส

7. WordPress ต้องใช้ฐานข้อมูลเพื่อจัดเก็บข้อมูลบนเซิร์ฟเวอร์ ดังนั้นให้สร้างฐานข้อมูล WordPress ใหม่สำหรับเว็บไซต์ของคุณโดยใช้คำสั่ง mysql ดังที่แสดง .

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE mysite;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY  'SecureP@ssHere!';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

8. ตอนนี้ถึงเวลาสร้างเส้นทางรูทของ WordPress Virtual Host ดาวน์โหลดไฟล์เก็บถาวร WordPress จากนั้นแตกไฟล์แล้วออกสำเนาแบบเรียกซ้ำไปที่ /var/www/html /เวิร์ดเพรส.

sudo mkdir -p /var/www/html/mysite.com
wget http://wordpress.org/latest.tar.gz
tar xfvz latest.tar.gz
sudo cp -r wordpress/* /var/www/html/mysite.com

9. เพื่อการติดตั้ง WordPress ที่ราบรื่นโดยไม่มีข้อผิดพลาดของไฟล์การสร้าง wp-config.php ให้อนุญาต www-data ของ Nginx ผู้ใช้ระบบที่มีสิทธิ์เขียนบน /var/www/html/mysite.com เส้นทางและคืนค่าการเปลี่ยนแปลงหลังจากติดตั้ง WordPress

sudo chown -R www-data /var/www/html/mysite.com
sudo chmod -R 755 /var/www/html/mysite.com

การสร้างโฮสต์เสมือน NGINX สำหรับเว็บไซต์ WordPress

10. ตอนนี้ถึงเวลาสร้าง Virtual Host พื้นฐานสำหรับเว็บไซต์ WordPress บนเซิร์ฟเวอร์ Nginx รันคำสั่งต่อไปนี้เพื่อสร้างไฟล์คอนฟิกูเรชันเซิร์ฟเวอร์ WordPress

sudo vim /etc/nginx/conf.d/mysite.com.conf

จากนั้นเพิ่มเนื้อหาต่อไปนี้

server {
        listen 80;
        listen [::]:80;
        root /var/www/html/mysite.com; index index.php index.html index.htm; server_name mysite.com www.mysite.com; error_log /var/log/nginx/mysite.com_error.log; access_log /var/log/nginx/mysite.com_access.log; client_max_body_size 100M; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

11. ตามค่าเริ่มต้น Nginx จะกำหนดเส้นทางคำขอทั้งหมดไปยังบล็อกเซิร์ฟเวอร์ default ดังนั้น ให้ลบบล็อกเซิร์ฟเวอร์ default เพื่อเปิดใช้งานเว็บไซต์ WordPress ของคุณหรือเว็บไซต์อื่น ๆ ที่คุณต้องการโฮสต์บนเซิร์ฟเวอร์เดียวกันในภายหลัง

sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/sites-available/default

12. ถัดไป ตรวจสอบไวยากรณ์การกำหนดค่า NGINX เพื่อหาข้อผิดพลาดใดๆ ก่อนที่คุณจะสามารถรีสตาร์ทบริการ Nginx เพื่อใช้การเปลี่ยนแปลงใหม่

sudo nginx -t
sudo systemctl restart nginx

เสร็จสิ้นการติดตั้ง WordPress ผ่าน Web Installer

13. ตอนนี้เปิดเว็บเบราว์เซอร์ของคุณและทำการติดตั้ง WordPress ให้เสร็จสิ้นโดยใช้โปรแกรมติดตั้งเว็บ

http://mysite.com/
OR
http://SERVER_IP/

14. จากนั้นเพิ่มข้อมูลเว็บไซต์ เช่น ชื่อ ชื่อผู้ใช้ของผู้ดูแลระบบ รหัสผ่าน และที่อยู่อีเมล จากนั้นคลิก ติดตั้ง WordPress เพื่อดำเนินการติดตั้งต่อ

15. เมื่อการติดตั้ง WordPress เสร็จสิ้น ให้ดำเนินการเข้าถึงแดชบอร์ดของผู้ดูแลเว็บไซต์โดยคลิกที่ปุ่มเข้าสู่ระบบตามที่ไฮไลต์ในหน้าจอต่อไปนี้

16. ที่หน้าเข้าสู่ระบบของผู้ดูแลเว็บไซต์ ให้ระบุชื่อผู้ใช้และรหัสผ่านที่สร้างไว้ด้านบน แล้วคลิกเข้าสู่ระบบ เพื่อเข้าถึงแดชบอร์ดผู้ดูแลระบบของเว็บไซต์ของคุณ

17. หลังจากการติดตั้งเสร็จสิ้น ให้ยกเลิกการอนุญาตโดยออกคำสั่งต่อไปนี้

sudo chown -R root /var/www/html/mysite.com

เปิดใช้งาน HTTPS บน WordPress

18. หากคุณต้องการเปิดใช้งาน HTTPS บนเว็บไซต์ WordPress ของคุณ คุณต้องติดตั้งใบรับรอง SSL ฟรีจาก Let’s Encrypt ดังที่แสดง

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
sudo certbot --nginx

เพื่อยืนยันว่าเว็บไซต์ WordPress ของคุณได้รับการตั้งค่าอย่างถูกต้องโดยใช้ใบรับรอง SSL ฟรี โปรดไปที่เว็บไซต์ของคุณที่ https://yourwebsite.com/ และมองหาไอคอนแม่กุญแจในแถบ URL หรือคุณสามารถตรวจสอบ HTTPS ของเว็บไซต์ของคุณได้ที่ https://www.ssllabs.com/ssltest/

ยินดีด้วย! คุณได้ติดตั้ง WordPress เวอร์ชันล่าสุดด้วย NGINX บนเซิร์ฟเวอร์ของคุณสำเร็จแล้ว ตอนนี้เริ่มสร้างเว็บไซต์หรือบล็อกใหม่ของคุณ