VPS

ติดตั้ง Nginx บน Cloud VPS เป็น Web Server ตัวหลัก

เผยแพร่ · แก้ไขล่าสุด

บทนำ

Nginx เป็น Web Server ที่มีประสิทธิภาพสูง เร็ว และเสถียรมาก เหมาะสำหรับการจัดการเว็บไซต์ขนาดใหญ่ และแอปพลิเคชัน บทความนี้จะสอนวิธีติดตั้ง Nginx บน Cloud VPS และตั้งค่า Server Blocks, Firewall, รวมถึงการทดสอบ บน Ubuntu/Debian

Server Blocks คืออะไร

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

ขั้นที่ 1: ติดตั้ง Nginx

เริ่มต้นด้วยการติดตั้ง Nginx บน Ubuntu/Debian โดยรันคำสั่งต่อไปนี้:

sudo apt update
sudo apt install -y nginx

หลังจากติดตั้งเสร็จ ให้เริ่มต้น Nginx และตั้งค่าให้เปิดอัตโนมัติเมื่อบูตระบบ:

sudo systemctl start nginx
sudo systemctl enable nginx

ขั้นที่ 2: เปิด Firewall

ตั้งค่า UFW Firewall (Uncomplicated Firewall) เพื่อให้การเข้าถึง HTTP และ HTTPS:

sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

ตรวจสอบสถานะ Firewall ด้วยคำสั่ง:

sudo ufw status

ขั้นที่ 3: สร้าง Server Block แรก (Virtual Host)

สร้างไฟล์กำหนดค่า Server Block ใหม่สำหรับโดเมนของคุณ:

sudo nano /etc/nginx/sites-available/example.com

วางค่ากำหนดค่าต่อไปนี้ลงในไฟล์:

server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }
}

ขั้นที่ 4: เปิดใช้งาน Server Block

สร้างลิงก์สัญลักษณ์จากไฟล์ sites-available ไปยังโฟลเดอร์ sites-enabled:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

ทดสอบไฟล์กำหนดค่าแล้ว Restart Nginx:

sudo nginx -t
sudo systemctl restart nginx

ขั้นที่ 5: ทดสอบ Nginx

เปิดเว็บบราวเซอร์และเข้าไปยัง Public IP ของ VPS เพื่อดูหน้า Default Nginx Page ซึ่งแสดงว่า Nginx ทำงานได้อย่างถูกต้อง

ตั้งค่า SSL Certificate

เพื่อให้เว็บไซต์ของคุณปลอดภัยด้วย HTTPS ให้ติดตั้ง Certbot:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

Certbot จะขอให้คุณป้อนอีเมลและยอมรับเงื่อนไขการใช้งาน หลังจากนั้น SSL Certificate จะติดตั้งโดยอัตโนมัติและ Nginx จะตั้งค่ากำหนดค่าใหม่

แท็กNginxWeb Server