Cách cài WordPress trên VPS Linux với Nginx

Tác giả: Đội ngũ kỹ thuật ONIE · Cập nhật 12 tháng 11, 2026 · Đọc 3 phút

Bài này cài WordPress trên VPS Ubuntu 22.04 hoặc 24.04 với bộ LEMP: Linux, Nginx, MariaDB và PHP-FPM. Máy chủ 2 vCPU, 2 GB RAM là mức khởi đầu thoải mái; xem cách chọn cấu hình VPS. Bạn có thể tạo cloud VPS trong vài phút rồi làm theo. Thay example.com bằng tên miền của bạn và trỏ bản ghi DNS A về IP máy chủ trước.

1. Cập nhật máy chủ và mở firewall

sudo apt update && sudo apt upgrade -y
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Nếu chưa bảo mật SSH, hãy làm trước theo hướng dẫn bảo mật SSH.

2. Cài Nginx, MariaDB và PHP

sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl unzip curl
sudo mysql_secure_installation

3. Tạo cơ sở dữ liệu

sudo mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'DUNG_MAT_KHAU_DAI_NGAU_NHIEN';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

4. Tải WordPress

cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
sudo mv wordpress /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.com
cd /var/www/example.com && sudo -u www-data cp wp-config-sample.php wp-config.php

Sửa wp-config.php: đặt DB_NAME, DB_USER, DB_PASSWORD theo giá trị ở trên và thay các khoá xác thực bằng khoá mới lấy từ công cụ chính thức https://api.wordpress.org/secret-key/1.1/salt/.

5. Cấu hình Nginx

Tạo /etc/nginx/sites-available/example.com:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.php;

    location / { try_files $uri $uri/ /index.php?$args; }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
    location ~ /\.ht { deny all; }
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Nếu /run/php/php-fpm.sock không tồn tại, dùng socket có số phiên bản, ví dụ /run/php/php8.3-fpm.sock.

6. Thêm chứng chỉ HTTPS miễn phí

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

Certbot tạo bộ hẹn giờ để tự gia hạn chứng chỉ. Kiểm tra bằng sudo certbot renew --dry-run.

7. Hoàn tất trên trình duyệt và tăng cường bảo mật

Mở https://example.com và hoàn tất trình cài đặt. Sau đó:

  • Luôn cập nhật WordPress, giao diện và plugin, gỡ những gì không dùng.
  • Dùng mật khẩu quản trị mạnh, không trùng lặp và bật đăng nhập hai lớp.
  • Chụp snapshot hoặc backup trước mỗi lần cập nhật lớn.
  • Cài plugin cache để giảm tải cho VPS nhỏ.

Câu hỏi thường gặp

Nên dùng phiên bản PHP nào?

Dùng phiên bản đi kèm bản Ubuntu của bạn, miễn là WordPress và plugin hỗ trợ. Xem trang yêu cầu chính thức.

Một VPS chạy được nhiều website không?

Được. Tạo mỗi website một server block Nginx, một cơ sở dữ liệu và một thư mục riêng, đồng thời cấp đủ RAM cho chúng.

Vì sao tôi gặp lỗi 502 Bad Gateway?

Nginx không kết nối được tới PHP-FPM. Kiểm tra PHP-FPM đang chạy và đường dẫn socket trong tệp Nginx khớp với socket có thật.

Nguồn và tài liệu tham khảo

Hướng dẫn VPS khác