Cách cài WordPress trên VPS Linux với Nginx
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 enableNế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_installation3. Tạo cơ sở dữ liệu
sudo mysqlCREATE 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.phpSử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 nginxNế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.comCertbot 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.