Tự dựng hệ thống staging (kiểm thử) cho WordPress trên VPS cá nhân

Khi làm việc trên website WordPress, việc có một môi trường staging (kiểm thử) riêng biệt là cực kỳ quan trọng. Nó giúp bạn thử nghiệm theme, plugin hoặc cập nhật mà không ảnh hưởng đến site chính. Bài viết này sẽ hướng dẫn bạn cách tự dựng hệ thống staging ngay trên VPS cá nhân mà không cần đến dịch vụ bên ngoài.

Tự dựng hệ thống staging (kiểm thử) cho WordPress trên VPS cá nhân

1. Staging là gì và tại sao cần có?

Staging là một bản sao của website chính, chạy song song ở một subdomain như staging.yoursite.com. Nó giúp bạn:

  • Thử nghiệm plugin mới trước khi áp dụng lên site thật
  • Kiểm tra theme, hiệu suất và các tùy chỉnh
  • Hạn chế lỗi không mong muốn lên website chính

2. Chuẩn bị trước khi bắt đầu

  • Một VPS đang chạy site chính WordPress
  • Quyền truy cập SSH và root
  • Đã cài sẵn nginx/apache + PHP + MariaDB/MySQL

3. Các bước tạo môi trường staging

Bước 1: Tạo subdomain staging

Tạo một subdomain trên DNS, ví dụ staging.yoursite.com, trỏ về IP VPS.

Với nginx, tạo file cấu hình mới:

server {
    listen 80;
    server_name staging.yoursite.com;

    root /var/www/staging;
    index index.php index.html;

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

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

Sau đó sudo nginx -t && sudo systemctl reload nginx.

Bước 2: Clone mã nguồn và database

Sao chép mã nguồn từ site chính:

cp -r /var/www/html /var/www/staging

Export database:

mysqldump -u root -p wp_database > site.sql

Tạo database mới cho staging:

mysql -u root -p
CREATE DATABASE wp_staging;

Import lại:

mysql -u root -p wp_staging < site.sql

Cập nhật thông tin kết nối trong wp-config.php của bản staging:


define('DB_NAME', 'wp_staging');
define('DB_USER', 'root');
define('DB_PASSWORD', 'yourpass');

Bước 3: Đổi URL site trong DB

Dùng WP-CLI hoặc PHPMyAdmin để đổi domain:

wp search-replace 'https://yoursite.com' 'https://staging.yoursite.com' --allow-root

Bước 4: Bảo vệ staging khỏi truy cập ngoài

Thêm xác thực basic bằng nginx:

sudo apt install apache2-utils
htpasswd -c /etc/nginx/.htpasswd staging_user

Rồi thêm vào block location /:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;

4. Một số mẹo nâng cao

  • Thiết lập cron tự động sync mã nguồn/site thật về staging hàng đêm
  • Gắn label rõ ràng vào bản staging để tránh nhầm lẫn
  • Hạn chế email gửi ra ngoài từ bản staging để tránh spam
  • Dùng script đẩy thay đổi ngược lại lên production một cách có kiểm soát

Kết luận

Tự dựng hệ thống staging không chỉ giúp bạn kiểm soát rủi ro tốt hơn mà còn tăng khả năng phát triển và thử nghiệm tính năng mới một cách chuyên nghiệp. Nếu bạn đang quản lý nhiều website WordPress trên VPS riêng, đây là một quy trình nên thực hiện càng sớm càng tốt.

Gợi ý: Bạn có thể tích hợp thêm Git + CI/CD (như GitHub Actions, GitLab CI) để staging được cập nhật tự động mỗi khi đẩy code.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...