Trong thời đại số, kiến thức về VPS là một kỹ năng không thể thiếu đối với bất kỳ lập trình viên web nào. VPS không chỉ giúp bạn triển khai dự án một cách hiệu quả mà còn mở ra nhiều cơ hội phát triển sự nghiệp trong tương lai. Cùng tìm hiểu tại sao VPS lại quan trọng đến vậy và cách để tận dụng tối đa công cụ này.

Phân biệt Hosting – VPS – Dedicated Server
| Đặc điểm | Hosting (Chia sẻ) | VPS (Virtual Private Server – Máy chủ ảo) | Dedicated Server (Máy chủ vật lý) |
| Khái niệm | Chia sẻ tài nguyên trên một máy chủ với nhiều website khác. | Máy chủ vật lý được ‘chia nhỏ’ thành các máy chủ ảo (VPS), các máy chủ áo chạy độc lập nhau. | Máy chủ vật lý riêng biệt, toàn quyền sử dụng. Tương tự như việc sử dụng một PC. |
| Tài nguyên | Chia sẻ CPU, RAM, băng thông với các trang web khác. | Mỗi VPS có Tài nguyên riêng (CPU, RAM, ổ cứng, Mạng) nhưng vẫn trên máy chủ vật lý chia sẻ. | Toàn bộ tài nguyên của máy chủ chỉ dành cho một hệ điều hành và các phần mềm trên đó. |
| Hiệu suất | Thấp, phụ thuộc vào số lượng trang web trên máy chủ. | Trung bình đến cao, tùy thuộc vào cấu hình VPS. | Cao nhất, hiệu suất ổn định và mạnh mẽ. |
| Khả năng mở rộng | Hạn chế, phụ thuộc vào máy chủ chia sẻ. | Dễ dàng tăng giảm tài nguyên mà không cần tác động vật lý. | Có thể nâng cấp nhưng cần thao tác vật lý, chi phí cao. |
| Quyền quản trị | Không có quyền root, ít quyền quản trị. | Có quyền root (trong hầu hết các trường hợp). | Toàn quyền quản trị (root) và cấu hình. |
| Bảo mật | Kém, dễ bị ảnh hưởng nếu trang khác bị tấn công. | Bảo mật tốt hơn, tách biệt giữa các VPS. | Cao nhất, do không chia sẻ với ai khác. |
| Chi phí | Thấp nhất, phù hợp với cá nhân hoặc website nhỏ. | Tùy phạm vi, các VPS có thể có giá rất thấp đến rất cao ( từ 1 vài đô la). Các hệ thống lớn như ngân hàng cũng dần chuyển đổi sang VPS. | Cao, phù hợp với ứng dụng tương ứng. |
| Ưu điểm | Rẻ, dễ sử dụng, quản trị đơn giản. | Giá cả phải chăng, tài nguyên riêng, dễ nâng cấp. | Hiệu suất mạnh mẽ, toàn quyền kiểm soát, bảo mật cao. |
| Nhược điểm | Hiệu suất kém, dễ bị ảnh hưởng bởi người dùng khác. | Yêu cầu kiến thức quản trị hệ thống, tài nguyên vẫn giới hạn. | Đắt đỏ, quản lý phức tạp, cần thêm kiến thức phần cứng, mạng… |
Lựa chọn hệ điều hành cho VPS thế nào?

Tùy theo các mục đích khác nhau và nguồn lực tài chính hoặc công nghệ mà bạn có thể chọn lựa hệ điều hành cho phù hợp với website muốn triển khai. Dưới đây là phân loại cách chọn hệ điều hành cho phù hợp:
Theo mục đích sử dụng
- Website tĩnh/dynamic: Ubuntu, CentOS…
- Ứng dụng doanh nghiệp hoặc hệ thống phức tạp: Với những ứng dụng doanh nghiệp lớn hoặc hệ thống đòi hỏi tính bảo mật cao, bạn có thể cân nhắc hệ điều hành như CentOS hoặc Ubuntu LTS vì sự ổn định và bảo mật dài hạn.
- Ứng dụng .NET hoặc phần mềm Windows độc quyền: Trong trường hợp bạn cần chạy các ứng dụng .NET hoặc các phần mềm chỉ có trên Windows, bạn sẽ cần chọn Windows Server.
Theo kiến thức quản trị
- Linux VPS: Nếu bạn quen thuộc với dòng lệnh, hoặc sẵn sàng học, Linux là lựa chọn phổ biến hơn nhờ tính linh hoạt, miễn phí và cộng đồng hỗ trợ lớn.
- Windows VPS: Nếu bạn quen với môi trường Windows và không muốn học dòng lệnh thì có thể lựa chọn Windows
Theo hiệu suất tài nguyên
- Linux (Ubuntu, CentOS, Debian, etc.): Linux thường nhẹ hơn Windows về tài nguyên hệ thống (RAM, CPU)
- Windows Server: Windows Server yêu cầu nhiều tài nguyên hơn để chạy giao diện đồ họa và các dịch vụ bổ sung
Theo chi phí đầu tư
- Linux: Hầu hết các phiên bản Linux đều miễn phí và không yêu cầu bản quyền.
- Windows: Windows Server yêu cầu giấy phép bản quyền, do đó bạn có thể phải trả thêm phí cho nhà cung cấp dịch vụ VPS.
Theo yêu cầu bảo mật
- Linux: Linux nổi tiếng với tính bảo mật cao và thường xuyên nhận các bản vá bảo mật
- Windows: Windows Server có bảo mật mạnh mẽ, nhưng thường là mục tiêu của nhiều cuộc tấn công.
Cộng đồng và hỗ trợ kỹ thuật
- Linux (Ubuntu, CentOS, Debian, etc.): Linux có cộng đồng mã nguồn mở rộng lớn với nhiều tài liệu và hướng dẫn chi tiết. Nếu bạn gặp vấn đề, khả năng tìm được giải pháp nhanh là khá cao.
- Windows Server: Microsoft cung cấp hỗ trợ kỹ thuật chuyên nghiệp nhưng có thể tốn phí, và cộng đồng hỗ trợ không mạnh như Linux.
Khả năng mở rộng và nâng cấp
- Linux: Thích hợp cho các ứng dụng web, ứng dụng nhỏ gọn, và có khả năng mở rộng mạnh mẽ. Bạn có thể dễ dàng tùy chỉnh theo nhu cầu.
- Windows Server: Thích hợp hơn cho các doanh nghiệp cần tích hợp sâu với các sản phẩm Microsoft, hoặc các ứng dụng yêu cầu Windows cụ thể.
Các tiêu chí quản trị VPS và một số ứng dụng hỗ trợ quản trị
- CPU Usage (Sử dụng CPU).
- RAM Usage (Sử dụng RAM)
- Disk Usage (Sử dụng Storage)
- Network Usage (Sử dụng Mạng)
- Firewall (Tường lửa)
- Update, Security (Cập nhật, Bảo mật)
- Uptime và Availability (Thời gian hoạt động)
- Processes (Tiến trình)
- Logs (Nhật ký hệ thống)
- Backup (Sao lưu)
| Tiêu chí giám sát | Mục tiêu | Giám sát | Công cụ |
| CPU Usage (Sử dụng CPU) | Đảm bảo CPU không bị quá tải, duy trì mức ổn định (dưới 70%). | Xác định và tối ưu hóa tác vụ tiêu tốn nhiều CPU, đặt cảnh báo khi CPU vượt ngưỡng. | htop, top, vmstat, Zabbix, Prometheus |
| RAM Usage (Sử dụng RAM) | Tránh sử dụng quá nhiều RAM, hạn chế dùng Swap để giảm hiệu suất. | Theo dõi RAM và Swap, phân tích quy trình chiếm RAM lớn, đặt cảnh báo khi vượt ngưỡng. | free -m, top, htop |
| Disk Usage (Sử dụng Storage) | Tránh đầy ổ đĩa, đảm bảo đủ dung lượng lưu trữ và khả năng đọc/ghi dữ liệu. | Theo dõi dung lượng ổ đĩa và IOPS, đặt cảnh báo khi dung lượng gần đầy hoặc IOPS bị giới hạn. | df -h, iostat, du |
| Network Usage (Sử dụng Mạng) | Đảm bảo kết nối mạng ổn định, tránh nghẽn mạng hoặc bị tấn công (DDoS). | Theo dõi băng thông in/out, phân tích lưu lượng mạng để phát hiện bất thường, giám sát tốc độ và độ trễ. | iftop, nload, vnstat, công cụ nhà cung cấp VPS |
| Firewall (Tường lửa) | Ngăn chặn truy cập trái phép, chỉ cho phép kết nối xác định trước. | Đảm bảo tường lửa chạy đúng, theo dõi nỗ lực truy cập không thành công, cập nhật quy tắc định kỳ. | ufw, firewalld, iptables, firewall nhà cung cấp |
| Security (Bảo mật) | Bảo vệ VPS khỏi tấn công và khai thác lỗ hổng bảo mật. | Cập nhật bản vá bảo mật, giám sát đăng nhập và lỗ hổng bảo mật, theo dõi nhật ký bảo mật để phát hiện tấn công. | fail2ban, ClamAV, chkrootkit, logwatch, auditd |
| Uptime và Availability | Đảm bảo dịch vụ hoạt động liên tục, không gián đoạn. 99.99% , 99.999%… | Theo dõi uptime của hệ thống và dịch vụ, đặt cảnh báo khi bị gián đoạn, kiểm tra khả năng phục hồi khi lỗi. | uptime, Pingdom, UptimeRobot, Nagios |
| Processes (Tiến trình) | Giám sát các tiến trình tiêu tốn nhiều tài nguyên và kiểm soát tiến trình không mong muốn. | Kiểm tra tiến trình tiêu thụ CPU, RAM quá mức, xác định tiến trình zombie, theo dõi tiến trình hệ thống và ứng dụng quan trọng. | ps aux, top, htop, systemctl |
| Logs (Nhật ký hệ thống) | Theo dõi lỗi, hoạt động bất thường và sự kiện bảo mật. | Xem xét file log định kỳ để phát hiện lỗi hoặc tấn công, đặt cảnh báo dựa trên log bất thường, tự động lưu trữ và quản lý nhật ký lâu dài. | logwatch, syslog, journalctl |
| Backup (Sao lưu) | Đảm bảo sao lưu định kỳ và khôi phục nhanh chóng khi cần. | Theo dõi tình trạng sao lưu, kiểm tra khả năng khôi phục định kỳ, đặt lịch sao lưu tự động và sao lưu ngoại vi. | rsync, tar, dịch vụ sao lưu nhà cung cấp VPS Veeam Backup: Backup full Backup Incremental |
Một số công cụ hỗ trợ giám sát
- Zabbix: Hệ thống giám sát hiệu quả cho các chỉ số về CPU, RAM, Disk, Network.
- Prometheus + Grafana: Thu thập và hiển thị dữ liệu giám sát theo thời gian thực.
- Nagios: Giám sát hệ thống và mạng, giúp phát hiện sớm sự cố.
- Monit: Giám sát các dịch vụ và tài nguyên hệ thống, tự động khởi động lại khi gặp lỗi.
- https://pm2.keymetrics.io/ Công cụ giúp quản lý tiến trình khi chạy website bằng nodejs
Triển khai Website lên VPS sử dụng hệ điều hành linux
- Chuẩn bị VPS
- Mua VPS ở bất kỳ nhà cung cấp dịch vụ nào trên Internet ví dụ như GalaxyCloud…
- Chọn lựa hệ điều hành cho phù hợp với nhu cầu công việc và cấu hình của VPS
- Khi thực hành: Không có VPS thì có thể cài máy tính ảo lên laptop VD: VirtualBox, VMware…
Truy cập VPS qua SSH để thực hành điều khiển
Với máy tính cá nhân dùng Linux/Mac: Terminal có tích hợp sẵn công cụ SSH hoặc dùng Terminus
Với máy tính cá nhân dùng Windows: Dùng PuTTY hoặc Windows Terminal (hoặc sử dụng WSL – Windows Subsystem for Linux).
Lệnh kết nối: ssh root@your_server_ip
Ví dụ: ssh [email protected]
Khi kết nối sẽ cần nhập password, khi nhập password sẽ không hiện ký tự gì
Cài đặt phần mềm Webserver để chạy website
Tùy thuộc vào loại ứng dụng web của bạn (PHP, Node.js, Python, Ruby, etc.), bạn cần cài đặt môi trường phù hợp
– Nếu bạn viết code bằng PHP thì cài đặt Apache hoặc Nginx, MySQL/MariaDB, PHP
– Nếu bạn viết code bằng nodejs thì cài Nodejs và Nginx, CSDL có thể cài Mongodb hoặc MySQL. Cài thêm phần mềm PM2 để quản lý tiến trình chạy nodejs.
Upload mã nguồn website lên VPS
Công cụ cần thiết:
-
- Linux/Mac: Terminal có tích hợp sẵn công cụ SSH hoặc dùng Terminus (có hỗ trợ giao diện đồ họa sftp)
- Windows: Dùng PuTTY hoặc WinSCP hoặc Filezila … sử dụng SFTP để upload file
- Ví dụ về câu lệnh upload file qua ssh
- scp -r /path/to/your/local/website root@your_server_ip:/path/to/server/directory
Cấu hình VHOST để gắn domain cho các website (Apache/Nginx)
- File cấu hình:
- Đối với Apache: /etc/apache2/sites-available/yourdomain.com.conf
- Đối với Nginx: /etc/nginx/sites-available/yourdomain.com.conf
- Code mẫu file cấu hình


Trước khi triển khai VPS bạn cần có tên miền và trỏ DNS của tên miền về IP của VPS.
Giảng viên Đặng Thái Sơn
Bộ môn Công nghệ thông tin
FPT Polytechnic Hà Nội

