บทความนี้อาจมีลิงก์ affiliate — เราได้รับค่าคอมมิชชันหากคุณซื้อผ่านลิงก์เหล่านั้น โดยไม่มีค่าใช้จ่ายเพิ่มจากคุณ นโยบายบรรณาธิการ

คู่มือ VPS & Server

ติดตั้ง LEMP Stack บน VPS [2026]
คู่มือสมบูรณ์ Linux + Nginx + MariaDB + PHP

โดย ทีมรีวิว CloudPicked  ·  อัปเดตล่าสุด ตุลาคม 2026

LEMP Stack ติดตั้งบน VPS Linux Nginx MariaDB PHP

LEMP Stack คือชุดซอฟต์แวร์พื้นฐานที่นักพัฒนาเว็บใช้ในการ deploy เว็บไซต์และ web application บน VPS Linux ประกอบด้วย Linux (Operating System), Enginx (Web Server), MariaDB/MySQL (Database) และ PHP (Server-side Language) ซึ่งทำงานร่วมกันเป็น full-stack web environment

ในปี 2026 LEMP Stack ยังคงเป็นตัวเลือกอันดับต้นของ developer ที่ต้องการ setup web server ที่รวดเร็ว เสถียร และประหยัด resource โดยเฉพาะเมื่อใช้คู่กับ Nginx ที่มี performance สูงกว่า Apache ในหลายสถานการณ์

สารบัญ

  1. LEMP Stack คืออะไร?
  2. LEMP vs LAMP — เลือกอะไรดี?
  3. ข้อกำหนด VPS และข้อมูลที่ต้องเตรียม
  4. Step 1 — อัพเดท Ubuntu
  5. Step 2 — ติดตั้ง Nginx
  6. Step 3 — ติดตั้ง MariaDB
  7. Step 4 — ติดตั้ง PHP-FPM
  8. Step 5 — ตั้งค่า Nginx Virtual Host
  9. Step 6 — ทดสอบ PHP และฐานข้อมูล
  10. Step 7 — ติดตั้ง WordPress บน LEMP
  11. เพิ่มความปลอดภัย LEMP Stack
  12. เพิ่ม Performance
  13. FAQ คำถามพบบ่อย

LEMP Stack คืออะไร?

ชื่อ "LEMP" มาจากตัวอักษรย่อของส่วนประกอบหลัก 4 ตัว:

แต่ละ component ทำงานแยกกัน ทำให้อัพเดทหรือเปลี่ยนแปลงแต่ละส่วนได้อิสระ โดยทั่วไป Nginx รับ request จาก browser ส่ง static files โดยตรง และส่งต่อ PHP request ไปยัง PHP-FPM process manager ซึ่งจะ execute PHP code และคืนผลลัพธ์กลับ ข้อมูลถูกดึงจาก MariaDB และ render เป็น HTML ส่งกลับไปยัง browser

LEMP vs LAMP — เลือกอะไรดี?

หลายคนสับสนระหว่าง LEMP และ LAMP Stack ซึ่งต่างกันเพียงตัว Web Server:

คุณสมบัติ LEMP (Nginx) LAMP (Apache)
Memory Usageต่ำกว่า (event-driven)สูงกว่า (process-based)
Concurrent Connectionsสูงมากจำกัดโดย process
Static File Servingเร็วมากปานกลาง
.htaccess รองรับไม่รองรับ (ต้องตั้งค่า nginx.conf)รองรับ
PHP Executionผ่าน PHP-FPMผ่าน mod_php หรือ PHP-FPM
Configurationไฟล์ config Nginx.htaccess หรือ httpd.conf
เหมาะกับTraffic สูง, VPS RAM น้อยShared hosting, WordPress แบบง่าย

ข้อมูล ณ ตุลาคม 2026 — สเปคและ benchmark อาจเปลี่ยนตามเวอร์ชัน

สำหรับ VPS ทั่วไป LEMP มักให้ performance ดีกว่า เพราะ Nginx ใช้ event-driven architecture จัดการ request พร้อมกันหลายพันรายการโดยใช้ thread น้อยมาก เหมาะมากสำหรับ VPS ที่มี RAM 1-2GB

เมื่อไรควรใช้ LAMP แทน? ถ้าคุณใช้ cPanel หรือต้องการ .htaccess rules จำนวนมาก (เช่น redirect rules ที่ซับซ้อน) Apache อาจสะดวกกว่า Nginx ต้องแปลง .htaccess เป็น nginx.conf ด้วยมือ

ข้อกำหนด VPS และสิ่งที่ต้องเตรียม

ก่อนเริ่มติดตั้ง ตรวจสอบว่าคุณมีสิ่งต่อไปนี้:

VPS แนะนำสำหรับไทย: AsiaGB (เซิร์ฟเวอร์ไทย/สิงคโปร์, support ภาษาไทย 24 ชม.) หรือ Ruk-Com Cloud ที่มีทีมงานไทยรองรับ

1

อัพเดท Ubuntu ก่อนเริ่ม

เชื่อมต่อ VPS ผ่าน SSH แล้วรันคำสั่งอัพเดทระบบก่อนเสมอ เพื่อให้แน่ใจว่าทุก package เป็นเวอร์ชันล่าสุดและไม่มีช่องโหว่:

sudo apt update && sudo apt upgrade -y

คำสั่งนี้จะอัพเดท package list และอัพเกรด package ที่ติดตั้งอยู่ทั้งหมด ใช้เวลาสักครู่ขึ้นอยู่กับจำนวน update ที่มี

2

ติดตั้ง Nginx

Nginx อยู่ใน Ubuntu default repository สามารถติดตั้งได้ทันที:

sudo apt install nginx -y

เมื่อติดตั้งเสร็จ เปิดใช้งานและตรวจสอบสถานะ:

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

ถ้า active (running) แสดงว่า Nginx ทำงานปกติ ทดสอบโดยเปิด browser แล้วไปที่ http://IP_ของคุณ จะเห็นหน้า "Welcome to nginx!"

ตั้งค่า Firewall (UFW)

ถ้าใช้ UFW firewall ต้องอนุญาต port 80 และ 443:

sudo ufw allow 'Nginx Full'
sudo ufw status
3

ติดตั้ง MariaDB

MariaDB เป็น drop-in replacement ของ MySQL ที่ compatible 100% แนะนำ MariaDB 10.11 LTS (Long Term Support ถึงปี 2028):

sudo apt install mariadb-server mariadb-client -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

Secure MariaDB Installation

รัน script ความปลอดภัยที่มาพร้อม MariaDB เสมอ:

sudo mysql_secure_installation

Script นี้จะถามหลายคำถาม:

สร้าง Database และ User

สำหรับแต่ละเว็บไซต์ ควรสร้าง database และ user แยกต่างหาก:

sudo mysql -u root -p
CREATE DATABASE mywebsite_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mywebsite_user'@'localhost' IDENTIFIED BY 'รหัสผ่านที่แข็งแกร่ง';
GRANT ALL PRIVILEGES ON mywebsite_db.* TO 'mywebsite_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4

ติดตั้ง PHP-FPM

Nginx ไม่มี PHP built-in จำเป็นต้องใช้ PHP-FPM (FastCGI Process Manager) ซึ่งรัน PHP เป็น service แยกต่างหากและสื่อสารกับ Nginx ผ่าน socket

PHP เวอร์ชันที่แนะนำ (ข้อมูล ณ ตุลาคม 2026)

ตรวจสอบ support timeline ล่าสุดที่ php.net/supported-versions.php

ติดตั้ง PHP 8.3

บน Ubuntu 22.04 ต้องเพิ่ม PPA ก่อน:

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

บน Ubuntu 24.04 PHP 8.3 อยู่ใน default repository แต่แนะนำใช้ PPA ของ Ondřej Surý เพื่อรับเวอร์ชันใหม่สุด:

sudo apt install php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring php8.3-zip php8.3-intl php8.3-gd php8.3-bcmath php8.3-imagick -y

เปิดใช้งาน PHP-FPM:

sudo systemctl enable php8.3-fpm
sudo systemctl start php8.3-fpm
sudo systemctl status php8.3-fpm

Extensions ที่ควรติดตั้งเพิ่ม

สำหรับ WordPress หรือ CMS ทั่วไป extensions ที่จำเป็น:

sudo apt install php8.3-opcache php8.3-redis php8.3-soap -y
5

ตั้งค่า Nginx Virtual Host

สร้างไฟล์ configuration สำหรับเว็บไซต์ของคุณ:

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

ใส่ config ต่อไปนี้ (แก้ yourdomain.com เป็น domain จริง):

server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com;
    index index.php index.html;

    # Static file caching
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    # Security headers
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
}

Enable Virtual Host

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

nginx -t จะทดสอบ syntax ของ config ถ้าผ่านค่อย reload Nginx

สร้าง Document Root

sudo mkdir -p /var/www/yourdomain.com
sudo chown -R www-data:www-data /var/www/yourdomain.com
sudo chmod -R 755 /var/www/yourdomain.com
6

ทดสอบ PHP และฐานข้อมูล

สร้างไฟล์ PHP info เพื่อตรวจสอบว่า PHP-FPM ทำงานกับ Nginx ได้:

sudo nano /var/www/yourdomain.com/info.php
<?php phpinfo(); ?>

เปิด browser ไปที่ http://yourdomain.com/info.php ถ้าเห็นหน้า PHP Info แสดงว่าทุกอย่างทำงานถูกต้อง

สำคัญ: ลบไฟล์ info.php ออกหลังทดสอบเสร็จ เพราะไฟล์นี้เปิดเผยข้อมูล server ที่อาจเป็นประโยชน์ต่อผู้โจมตี:

sudo rm /var/www/yourdomain.com/info.php

ทดสอบการเชื่อมต่อ Database

สร้าง PHP script ทดสอบ DB connection:

<?php
$conn = new mysqli('localhost', 'mywebsite_user', 'รหัสผ่าน', 'mywebsite_db');
if ($conn->connect_error) {
    die('Connection failed: ' . $conn->connect_error);
}
echo 'Connected successfully to MariaDB!';
$conn->close();
?>
7

ติดตั้ง WordPress บน LEMP Stack

WordPress ทำงานได้ดีมากบน LEMP Stack ขั้นตอนการติดตั้ง:

ดาวน์โหลด WordPress

cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
sudo cp -r wordpress/* /var/www/yourdomain.com/
sudo chown -R www-data:www-data /var/www/yourdomain.com/
sudo chmod -R 755 /var/www/yourdomain.com/

สร้าง wp-config.php

cd /var/www/yourdomain.com
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

แก้ค่าเหล่านี้ใน wp-config.php:

define('DB_NAME', 'mywebsite_db');
define('DB_USER', 'mywebsite_user');
define('DB_PASSWORD', 'รหัสผ่านของคุณ');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');

Nginx Config สำหรับ WordPress

WordPress ต้องใช้ config พิเศษเพื่อรองรับ pretty permalink:

location / {
    try_files $uri $uri/ /index.php?$args;
}

# WordPress: ห้าม PHP execution ใน uploads
location ~* /(?:uploads|files)/.*\.php$ {
    deny all;
}

ติดตั้ง SSL ด้วย Let's Encrypt

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot จะตั้งค่า SSL และ redirect HTTP → HTTPS ให้อัตโนมัติ certificate ต่ออายุอัตโนมัติทุก 90 วัน

เพิ่มความปลอดภัย LEMP Stack

security คือสิ่งสำคัญสำหรับ production server ขั้นตอนพื้นฐานที่ควรทำ:

1. เปลี่ยน SSH Port และใช้ Key-based Authentication

sudo nano /etc/ssh/sshd_config
# เพิ่ม/แก้:
Port 2222
PasswordAuthentication no
PermitRootLogin no

2. ตั้งค่า Fail2Ban

sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

3. ซ่อนเวอร์ชัน Nginx

ใน /etc/nginx/nginx.conf ใน http block:

server_tokens off;

4. จำกัด PHP-FPM Process

ปรับ /etc/php/8.3/fpm/pool.d/www.conf:

pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 7

5. ตั้งค่า PHP Security

sudo nano /etc/php/8.3/fpm/php.ini
expose_php = Off
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 60

เพิ่ม Performance

หลังจาก LEMP Stack พื้นฐานทำงานได้แล้ว สิ่งที่ควรเพิ่มเพื่อ performance:

1. PHP OPcache

OPcache ช่วยให้ PHP ไม่ต้อง parse script ซ้ำทุก request ลดเวลา response ลงได้มาก:

sudo nano /etc/php/8.3/fpm/conf.d/10-opcache.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.fast_shutdown=1

2. Nginx Gzip Compression

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_vary on;
gzip_min_length 1024;

3. Redis Cache (Optional)

สำหรับ WordPress ที่มี traffic สูง Redis object cache ช่วยลด DB queries:

sudo apt install redis-server php8.3-redis -y
sudo systemctl enable redis
sudo systemctl start redis

ต้องการ VPS ไทยรองรับ LEMP Stack พร้อม support ภาษาไทย?

ดู AsiaGB VPS Thailand

FAQ — คำถามที่พบบ่อยเกี่ยวกับ LEMP Stack

LEMP Stack คืออะไร?

LEMP Stack คือชุดซอฟต์แวร์ open-source สำหรับ web server ประกอบด้วย Linux, Nginx, MariaDB/MySQL และ PHP ใช้สำหรับ host dynamic website และ web application บน VPS

LEMP ต่างจาก LAMP อย่างไร?

LAMP ใช้ Apache เป็น web server ส่วน LEMP ใช้ Nginx Nginx ใช้ RAM น้อยกว่า รองรับ concurrent connections ได้มากกว่า และเหมาะกับ VPS ที่มี resource จำกัด

ควรใช้ PHP เวอร์ชันไหนกับ LEMP?

ปี 2026 แนะนำ PHP 8.3 (security support ถึง Dec 2027) สำหรับ production ที่ต้องการความเสถียร หรือ PHP 8.4 สำหรับโปรเจกต์ใหม่ที่ต้องการ features ล่าสุด

MariaDB ต่างจาก MySQL อย่างไร?

MariaDB เป็น fork ของ MySQL ที่ compatible กัน 100% แต่ open-source กว่า มีบาง feature ที่ดีกว่า และ community ที่แข็งแกร่ง ใช้แทนกันได้ทันทีสำหรับ WordPress และ web apps ทั่วไป

LEMP Stack รองรับ WordPress ไหม?

ได้ WordPress ทำงานบน LEMP ได้ดีมาก แต่ต้องตั้งค่า Nginx config ให้รองรับ WordPress permalinks โดยเฉพาะ try_files directive แทน .htaccess ของ Apache

ต้องการ VPS สเปคเท่าไรสำหรับ LEMP?

สำหรับเว็บไซต์ขนาดเล็กถึงกลาง: RAM 1GB, CPU 1-2 cores, SSD 20GB ขึ้นไป LEMP ประหยัด resource กว่า LAMP จึงทำงานได้ดีแม้กับ VPS ราคาประหยัด

ติดตั้ง LEMP บน Ubuntu 24.04 ได้ไหม?

ได้ คำสั่งส่วนใหญ่ใช้ได้เหมือนกันบน Ubuntu 22.04 และ 24.04 แนะนำ Ubuntu 24.04 LTS สำหรับ VPS ใหม่เพราะมี support ยาวกว่าและ packages ใหม่กว่า