Security

VPS cho doanh nghiệp nhỏ chạy website năm 2026

Doanh nghiệp nhỏ của bạn vừa ra mắt website, lượng truy cập bắt đầu tăng, và shared hosting bắt đầu quá tải. Bạn cần một VPS cho doanh nghiệp nhỏ chạy website nhưng không biết bắt đầu từ đâu. Bài này sẽ hướng dẫn chọn cấu hình phù hợp, cài đặt môi trường và bảo mật cơ bản, để website chạy ổn định mà không tốn chi phí không cần thiết. Tôi sẽ dùng Ubuntu 24.04 LTS làm ví dụ chính, vì đây là bản LTS được hỗ trợ đến 2029.

Tóm tắt nhanh

  • VPS 2 GB RAM là điểm khởi đầu hợp lý cho website doanh nghiệp nhỏ, có thể chạy Nginx + PHP-FPM + MySQL với lượng truy cập vài nghìn lượt/ngày.
  • Ổ NVMe giúp tốc độ đọc ghi nhanh hơn 3-5 lần so với SSD SATA, giảm thời gian phản hồi database đáng kể.
  • Bật UFW, cấu hình SSH key thay mật khẩu, và thiết lập snapshot hàng tuần trước khi đưa website vào hoạt động chính thức.
  • Trả theo tháng linh hoạt hơn cho doanh nghiệp nhỏ, tránh ràng buộc hợp đồng dài hạn khi nhu cầu chưa ổn định.

Vì sao doanh nghiệp nhỏ nên chuyển từ shared hosting sang VPS

Shared hosting rẻ, nhưng bạn dùng chung tài nguyên với hàng chục website khác trên cùng một máy chủ. Một website bị tấn công hoặc tăng traffic đột biến sẽ kéo theo website của bạn chậm theo. Bạn cũng không có quyền cài thêm công cụ, thay đổi phiên bản PHP, hay cấu hình riêng cho ứng dụng của mình.

VPS (Virtual Private Server) cho doanh nghiệp nhỏ giải quyết chuyện đó. Bạn có full root, tự cài bất cứ thứ gì, tự cấu hình theo nhu cầu. Với KVM virtualization, tài nguyên CPU và RAM được cô lập riêng, không bị hàng xóm ảnh hưởng. Bạn chỉ cần biết một chút Linux là đủ để vận hành.

Nếu bạn phân vân giữa VPS và hosting thông thường, bài nên thuê VPS hay hosting cho website năm 2026 đã phân tích khá kỹ. Với website doanh nghiệp có form liên hệ, đặt hàng, hoặc cần cài module riêng, VPS gần như là lựa chọn bắt buộc.

Yêu cầu trước khi bắt đầu

  • Một VPS chạy Ubuntu 24.04 LTS, tối thiểu 2 GB RAM, 2 vCPU, 40 GB NVMe.
  • Tài khoản user sudo non-root (tạo user này ngay sau khi nhận VPS).
  • Tên miền trỏ A record về IP VPS, cho phép vài giờ để DNS propagate.
  • Kiến thức cơ bản về SSH, biết dùng lệnh apt.

Nếu chưa có VPS, bạn có thể tham khảo VPS Linux với ổ NVMe và IPv4 riêng đặt tại Việt Nam, phù hợp cho website phục vụ khách hàng trong nước. Giá tham khảo từ khoảng 189.000đ/tháng, trả theo tháng không ràng buộc hợp đồng dài hạn.

Bước 1 - Chọn cấu hình VPS phù hợp

Đây là bước quan trọng nhất, quyết định chi phí hàng tháng. Nhiều doanh nghiệp nhỏ mua VPS quá mạnh vì sợ thiếu, rồi để lãng phí 80% tài nguyên. Ngược lại, có người mua gói quá yếu, website chậm và mất khách.

Với website doanh nghiệp nhỏ (khoảng 2.000-10.000 lượt truy cập/ngày), cấu hình 2 vCPU + 2 GB RAM + 40 GB NVMe là điểm cân bằng hàng đầu. Cấu hình này chạy được Nginx, PHP-FPM, MariaDB, và cả Redis nếu cần cache. Nếu website dùng WooCommerce hoặc có lượng sản phẩm lớn, nên nâng lên 4 GB RAM để thoải mái hơn.

Loại websiteRAM tối thiểuvCPUNVMe
Website giới thiệu, tin tức2 GB240 GB
Bán hàng WooCommerce4 GB2-460-80 GB
Web app tùy chỉnh (Node.js/Python)4 GB480 GB

Đừng quên kiểm tra tốc độ ổ đĩa trước khi mua. Bài cách kiểm tra tốc độ đọc ghi ổ NVMe trên VPS có lệnh fio cụ thể để bạn tự đo. NVMe thật sự khác biệt lớn với SSD SATA khi database phải đọc ghi liên tục.

Bước 2 - Cập nhật hệ thống và tạo user sudo

Sau khi nhận VPS, việc đầu tiên là cập nhật hệ thống và tạo user làm việc hàng ngày. Không nên dùng root trực tiếp cho thao tác thường xuyên, vì một lệnh sai có thể phá hỏng cả hệ thống.

apt update && apt upgrade -y
adduser deploy
usermod -aG sudo deploy

Lệnh trên cập nhật danh sách gói và nâng cấp toàn bộ hệ thống, sau đó tạo user deploy và thêm vào nhóm sudo để có quyền quản trị. Đăng nhập bằng user này cho mọi thao tác tiếp theo.

Kiểm tra bằng cách đăng nhập user mới và chạy sudo whoami, kết quả phải trả về root.

Bước 3 - Cấu hình SSH key và tắt đăng nhập mật khẩu

Đây là bước bảo mật quan trọng nhất với VPS chạy website doanh nghiệp. Server công khai trên internet sẽ bị quét SSH liên tục. Dùng SSH key thay mật khẩu giúp chặn hầu hết các cuộc tấn công brute-force.

Trên máy tính cá nhân, tạo cặp key (nếu chưa có):

ssh-keygen -t ed25519 -C "[email protected]"
ssh-copy-id deploy@your-server-ip

Key ED25519 ngắn hơn và nhanh hơn RSA 4096, và được hỗ trợ mặc định trên Ubuntu 24.04. Sau khi copy key thành công, kiểm tra đăng nhập bằng key, rồi tắt xác thực mật khẩu trong /etc/ssh/sshd_config:

sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

Lưu ý: chỉ tắt mật khẩu sau khi đã xác nhận đăng nhập bằng key hoạt động. Sai bước này sẽ khóa bạn ra ngoài. Nếu lỡ bị khóa, hầu hết nhà cung cấp VPS có tính năng cài lại mật khẩu qua control panel hoặc truy cập console.

Chi tiết hơn về chủ đề này, xem bài cách bảo mật đăng nhập SSH trên máy chủ Linux.

Bước 4 - Cài đặt Nginx, PHP-FPM và MariaDB

Bộ ba này là nền tảng phổ biến nhất cho website PHP. Cài đặt từ kho lưu trữ Ubuntu là đơn giản và ổn định nhất, không cần thêm PPA bên ngoài.

sudo apt install nginx php8.3-fpm php8.3-mysql mariadb-server -y

Ubuntu 24.04 cung cấp PHP 8.3, bản vẫn được hỗ trợ đến cuối 2027. Sau khi cài, khởi động và kích hoạt các dịch vụ:

sudo systemctl enable --now nginx php8.3-fpm mariadb

Kiểm tra trạng thái từng dịch vụ bằng systemctl status nginx, systemctl status php8.3-fpm, systemctl status mariadb. Cả ba phải hiển thị active (running).

Tiếp theo, bảo mật MariaDB bằng script có sẵn:

sudo mysql_secure_installation

Script sẽ hỏi đặt mật khẩu root, xóa user ẩn danh, tắt login từ xa cho root, và xóa database test. Trả lời Y cho hầu hết các câu hỏi. Sau đó tạo database và user riêng cho website:

sudo mysql -u root -p
CREATE DATABASE company_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'company_user'@'localhost' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON company_db.* TO 'company_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Dùng database riêng và user riêng cho từng website. Không dùng user root cho ứng dụng web, nếu bị SQL injection thì hacker không thể xóa toàn bộ database.

Bước 5 - Cấu hình Nginx và bật HTTPS với Certbot

Tạo file cấu hình cho website trong /etc/nginx/sites-available/:

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

Nội dung file như sau:

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

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

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

    location ~ /\.ht {
        deny all;
    }
}

Kích hoạt site và reload Nginx:

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

Lệnh nginx -t kiểm tra cú pháp file cấu hình, nếu có lỗi sẽ báo ngay trước khi reload. Đây là thói quen nên làm mỗi lần sửa config Nginx.

Sau đó cài Certbot để cấp chứng chỉ SSL miễn phí Let's Encrypt:

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

Certbot tự động gia hạn chứng chỉ qua systemd timer. Kiểm tra timer còn hoạt động bằng systemctl status certbot.timer. Nếu website của bạn cần chứng chỉ SSL trả phí với bảo hành, tham khảo thêm bài nên mua SSL DV hay SSL wildcard.

Bước 6 - Bật firewall UFW

VPS mới thường mở hết port, đây là rủi ro không đáng có. Bật UFW và chỉ cho phép các port cần thiết:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Kiểm tra trạng thái bằng sudo ufw status, kết quả phải hiển thị 22/tcp (hoặc port SSH bạn đã đổi) và 80,443/tcp ở trạng thái ALLOW. Nếu bạn cài thêm dịch vụ khác như FTP hay panel quản trị, nhớ mở port tương ứng, nhưng đừng mở rộng rãi nếu không cần.

Nếu bạn dùng AlmaLinux hoặc Rocky thay vì Ubuntu, lệnh sẽ khác. Bài cài đặt và cấu hình firewalld trên AlmaLinux 9 hướng dẫn cụ thể cho hệ thống dùng dnf.

Bước 7 - Thiết lập snapshot và backup tự động

Dữ liệu website là tài sản quan trọng nhất. Ổ NVMe có thể hỏng, người dùng có thể xóa nhầm, mã độc có thể mã hóa file. Snapshot và backup là cứu cánh riêng biệt.

Hầu hết nhà cung cấp VPS đều có tính năng snapshot trong control panel. Với VPS Linux tại thueVPS, bạn có thể tự tạo snapshot trước khi thay đổi lớn, và lên lịch backup tự động. Nên snapshot trước khi cập nhật phiên bản PHP, nâng cấp kernel, hoặc chỉnh sửa cấu hình lớn.

Ngoài snapshot ở mức hạ tầng, nên có backup file và database định kỳ. Dùng script đơn giản với cron:

sudo crontab -e

Thêm dòng sau để backup database mỗi ngày lúc 2 giờ sáng:

0 2 * * * mysqldump -u backup_user -p'password' company_db | gzip > /backup/db_$(date +\%Y\%m\%d).sql.gz

Xem thêm bài cách backup VPS trước khi nâng cấpcách tạo snapshot và khôi phục VPS an toàn để có quy trình hoàn chỉnh.

Xử lý lỗi thường gặp

Website trả về 502 Bad Gateway

Lỗi này thường do PHP-FPM không chạy, hoặc Nginx không kết nối được tới socket PHP. Kiểm tra bằng:

sudo systemctl status php8.3-fpm
sudo tail -f /var/log/nginx/error.log

Nếu PHP-FPM chết do hết RAM, xem lại cấu hình pm.max_children trong /etc/php/8.3/fpm/pool.d/www.conf. Với VPS 2 GB RAM, nên đặt max_children khoảng 4-6 và pm.max_requests=500 để chống rò rỉ bộ nhớ.

Website chậm dù cấu hình đủ

Nguyên nhân thường gặp nhất là thiếu cache. Cài Redis để cache object PHP và dùng Nginx FastCGI cache. Bài cách cài Redis trên VPS có hướng dẫn cụ thể. Nếu website dùng WooCommerce, đọc thêm cấu hình VPS cho website WooCommerce.

Không gửi được email từ website

Form liên hệ gửi mail thất bại thường do thiếu cấu hình mail server hoặc IP chưa có rDNS. Ít nhất phải cài Postfix ở dạng send-only và cấu hình SPF, DKIM. Chi tiết trong bài vì sao email từ VPS vào spam và cách khắc phục.

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

Doanh nghiệp nhỏ nên chọn VPS bao nhiêu RAM để chạy website?

2 GB RAM là mức tối thiểu nên chọn. Với Nginx + PHP-FPM + MariaDB, 2 GB chạy tốt khoảng 2.000-5.000 lượt truy cập/ngày. Nếu website dùng WooCommerce hoặc cần Redis cache, nên chọn 4 GB để thoải mái.

VPS giá rẻ có đủ ổn định cho website doanh nghiệp không?

Đủ nếu bạn chọn nhà cung cấp có hạ tầng tốt. VPS cho doanh nghiệp nhỏ chạy website không cần cấu hình khủng, quan trọng là ổ NVMe nhanh, IPv4 riêng, và uptime ổn định. Trả theo tháng để linh hoạt thay đổi khi website phát triển.

Nên trả VPS theo tháng hay theo năm?

Doanh nghiệp nhỏ mới bắt đầu nên trả theo tháng. Nhu cầu tài nguyên có thể thay đổi nhanh, trả theo tháng cho phép nâng cấp hoặc chuyển đổi dễ dàng. Bài VPS trả theo tháng có lợi gì so với trả năm phân tích chi tiết hơn.

VPS Linux hay Windows Server cho website doanh nghiệp?

Nếu website dùng PHP/WordPress, chọn Linux. Rẻ hơn, nhẹ hơn, và hệ sinh thái công cụ tốt hơn. Windows Server chỉ cần khi website dùng ASP.NET hoặc cần ứng dụng Windows. Xem thêm bài nên chọn VPS Linux hay Windows Server.

Website doanh nghiệp nhỏ có cần mua SSL không?

Có, bắt buộc. Google đánh dấu website không HTTPS là không an toàn. Dùng Let's Encrypt miễn phí là đủ cho phần lớn doanh nghiệp nhỏ. Nếu cần bảo hành hoặc nhiều subdomain, SSL DV hoặc Wildcard trả phí là lựa chọn tốt hơn.

Bao lâu nên backup website trên VPS?

Tối thiểu hàng ngày cho database và hàng tuần cho toàn bộ file. Snapshot trước mỗi lần thay đổi lớn như cập nhật PHP hoặc chỉnh sửa cấu hình. Backup tự động qua cron để không phụ thuộc vào việc nhớ thao tác thủ công.

Bài viết liên quan

Lưu ý: Bài viết mang tính tham khảo, tổng hợp kiến thức chung. Mỗi hệ thống, hạ tầng và nhu cầu có đặc thù riêng, nên kiểm thử trong môi trường an toàn và tham vấn kỹ sư trước khi triển khai thực tế.