5 Bước Cấu Hình VPS Chạy Ứng Dụng Python/Node.js
Mục lục bài viết (Bấm để ẩn/hiện)
- 1. Tại sao Shared Hosting không chạy được Python/Node.js?
- 2. Cần chuẩn bị những gì trước khi Deploy?
- 3. Bước 1: Cài đặt môi trường (Node.js & Python)
- 4. Bước 2: Đưa Code lên VPS và cài thư viện
- 5. Bước 3: Giữ App chạy ngầm (PM2 / Systemd)
- 6. Bước 4: Cài đặt Nginx làm Reverse Proxy
- 7. Bước 5: Cài SSL miễn phí (HTTPS)
- 8. Các lỗi thường gặp và cách xử lý
Tại sao Shared Hosting không chạy được Python/Node.js mà cần VPS?
Trước khi đi vào kỹ thuật, chúng ta cần làm rõ lý do tại sao môi trường VPS lại là bắt buộc đối với các ứng dụng hiện đại viết bằng JavaScript (Node.js) hay Python.
- Quyền truy cập Root: Bạn cần quyền cài đặt môi trường (Runtime), npm, pip mà Hosting thường (cPanel) không cung cấp.
- Tác vụ nền (Long-running Process): Các ứng dụng Node/Python cần chạy liên tục (listening). Hosting thường sẽ "kill" các tiến trình này để tiết kiệm tài nguyên.
- Tùy chỉnh cổng (Port): VPS cho phép bạn mở/đóng port tùy ý (3000, 5000, 8000) và cấu hình Firewall.
Chuẩn bị gì trước khi Deploy?
Để quá trình cài đặt diễn ra suôn sẻ, bạn hãy chuẩn bị sẵn sàng các tài nguyên sau:
- VPS: Cấu hình tối thiểu 1 Core CPU, 1GB RAM. Nên dùng OS Ubuntu 20.04 LTS hoặc 22.04 LTS.
- Tên miền: Đã trỏ DNS (A Record) về IP của VPS.
- Source Code: Đã đẩy lên GitHub/GitLab.
- Phần mềm SSH: PuTTY (Windows) hoặc Terminal (Mac/Linux).
Bước 1: Cài đặt môi trường (Environment Setup)
Đăng nhập vào VPS và chạy lệnh cập nhật hệ thống:
Đối với ứng dụng Node.js
Sử dụng script của NodeSource để cài bản Node.js 18 (LTS) ổn định nhất:
Kiểm tra cài đặt: node -v và npm -v.
Đối với ứng dụng Python
Cài đặt pip và công cụ tạo môi trường ảo (venv):
Bước 2: Đưa Code lên VPS và Cài đặt thư viện
Clone mã nguồn từ GitHub về thư mục web (ví dụ /var/www):
git clone https://github.com/username/my-app.git
cd my-app
Cài đặt thư viện Node.js
Cài đặt thư viện Python
source venv/bin/activate
pip install -r requirements.txt
Bước 3: Giữ App chạy ngầm 24/7 (Process Manager)
Để ứng dụng không bị tắt khi bạn thoát SSH, chúng ta cần Process Manager.
Với Node.js: Sử dụng PM2
Với Python: Sử dụng Gunicorn & Systemd
Tạo file service để quản lý ứng dụng Python:
Dán nội dung sau vào (sửa đường dẫn cho phù hợp):
Lưu lại (Ctrl+O, Enter) và thoát (Ctrl+X). Sau đó khởi chạy:
sudo systemctl enable my-python-app
Bước 4: Cài đặt Nginx làm Reverse Proxy
Nginx sẽ đón khách từ cổng 80 và chuyển vào ứng dụng của bạn.
Tạo file cấu hình mới:
Nội dung cấu hình:
Kích hoạt và khởi động lại Nginx:
sudo nginx -t
sudo systemctl restart nginx
Bước 5: Cài SSL miễn phí (HTTPS) với Certbot
Để có ổ khóa xanh bảo mật, hãy chạy lệnh sau:
Chọn 2 (Redirect) khi được hỏi để tự động chuyển hướng sang HTTPS.
Các lỗi thường gặp và cách xử lý
pm2 status.
- Lỗi EADDRINUSE: Cổng đã bị chiếm dụng. Hãy tìm và tắt tiến trình cũ.
- Permission Denied: Lỗi quyền truy cập file. Dùng lệnh
chownđể cấp quyền cho user.
Kết luận
Vậy là bạn đã hoàn thành việc cấu hình VPS chạy ứng dụng Python/Node.js một cách chuyên nghiệp. Quy trình 5 bước này là nền tảng vững chắc để bạn phát triển các hệ thống lớn hơn sau này. Nếu gặp khó khăn, hãy để lại bình luận bên dưới nhé!


Comments
Post a Comment