Hướng dẫn triển khai ứng dụng NodeJS trên CloudPanel

  • Tuesday 20/08/2024

Triển khai ứng dụng NodeJS trên CloudPanel là một bước quan trọng để đưa dự án của bạn lên môi trường thực tế. Với CloudPanel, bạn có thể quản lý và triển khai ứng dụng một cách dễ dàng, đảm bảo hiệu suất cao và tối ưu hóa tài nguyên.

Bài viết này sẽ hướng dẫn bạn từng bước để triển khai ứng dụng NodeJS trên CloudPanel, từ việc cấu hình môi trường đến quản lý các dịch vụ liên quan, giúp bạn nhanh chóng đưa sản phẩm của mình đến với người dùng.

 

1. Khởi tạo NodeJS site

Ở giao diện CloudPanel, ta chuyển qua tab Sites, click vào + ADD SITE để khởi tạo site mới

nodejs-cloudpanel1

 

Ta click vào Create a Node.js site

nodejs-cloudpanel2

 

Điền các thông tin cần thiết để khởi tạo, sau đó nhấn Create:

nodejs-cloudpanel3

  • Domain name: nhập tên miền của website
  • Node.js Version: chọn phiên bản Node thích hợp với website của bạn
  • App Port: port mà ứng dụng của bạn chạy trong localhost
  • Site UserSite User Password: đặt tên user và mật khẩu tùy ý. Ta sẽ dùng tài khoản này để truy cập SSH vào server và triển khai ứng dụng.

 

Site sau khi khởi tạo sẽ hiển thị ở giao diện Sites, ta click vào Manage để quản lý và cấu hình.

nodejs-cloudpanel4

2. Cấu hình cơ bản và triển khai ứng dụng

Giao diện quản lý của site

Khi đã truy cập vào giao diện quản lý của site, ta sẽ thấy tương tự như sau:

nodejs-cloudpanel5

Ở đây, ta có thể thay đổi mật khẩu, đổi port ứng dụng (mặc định là 3000), đổi root directory, khởi tạo database, cấu hình ssl,…

Ta chú ý đến mục Root Directory để lát nữa upload dữ liệu lên cho đúng.

 

Khởi tạo database

Ta chuyển qua tab Database để khởi tạo 1 database rỗng cho site. Trường hợp site của bạn là site tĩnh, không dùng đến database thì có thể bỏ qua bước này.

nodejs-cloudpanel6

 

Upload source code

Ta chuyển qua tab File Manager, di chuyển đến đúng thư mục Root Directory đã cấu hình trước đó và tiến hành upload source code NodeJS của mình lên.

nodejs-cloudpanel7

Bạn cũng có thể dùng SFTP/FTP để upload với thông tin tài khoản đã tạo ở bước 1.

 

Triển khai ứng dụng

Đây sẽ là bước quan trọng và tốn nhiều thời gian nhất. Đầu tiên, ta truy cập vào server thông qua phương thức SSH với thông tin tài khoản đã tạo ở bước 1.

Néu chưa từng truy cập SSH, bạn có thể tham khảo hướng dẫn ở đây.

Sau khi truy cập SSH, di chuyển đến Root Directory bằng lệnh cd

nodejs-cloudpanel8

Tiến hành triển khai ứng dụng của bạn. Mỗi ứng dụng có thể có cách triển khai hoặc câu lệnh khác nhau, nhưng thông thường sẽ dùng các lệnh tương tự như sau:

Cài đặt các module cần thiết, dùng lệnh
npm install

 

Sau khi chạy xong lệnh này, ta sẽ thấy trong Root Directory xuất hiện thêm thư mục node_modules khá nặng. Đây là thư mục chứa các module cần thiết để ứng dụng của bạn hoạt động, được định nghĩa trước đó ở file package.json

Tiếp theo, ta cần khởi tạo (build) ứng dụng dựa theo các quy trình đã được định nghĩa trước đó ở section scripts trong file package.json, dùng lệnh
npm run build

nodejs-cloudpanel10

Quá trình này có thể tốn khá nhiều thời gian, và tốn nhiều tài nguyên (CPU, RAM) của server để thực hiện.

 

Sau khi ứng dụng đã được khởi tạo xong, ta tiến hành chạy thử, dùng lệnh
npm run start

Lệnh trên thường được dùng với đa số ứng dụng. Tuy nhiên, một số ứng dụng sẽ có cách khởi chạy bằng lệnh khác. Ta có thể tìm chính xác lệnh này ở file package.json, section scripts.

nodejs-cloudpanel11

Ví dụ như ở ứng dụng tôi đang triển khai thì có 2 cách:
npm run dev-server:start
hoặc dùng tổ hợp lệnh
cd packages/dev-server && npm run start

Khởi chạy ứng dụng thành công:

nodejs-cloudpanel12

 

Ta thử truy cập một đường link được nêu ở trên, nhưng truy cập với dạng http://<domain> thay vì http://localhost:3000

nodejs-cloudpanel13

Như vậy là ta đã triển khai ứng dụng và cho phép truy cập từ mọi nơi.

 

3. Cấu hình pm2 để quản lý ứng dụng

Bạn có thể tìm hiểu thêm về pm2 ở đây.

 

Cài đặt pm2

Ngay tại Root Directory, ta dùng lệnh sau để cài đặt pm2:
npm install -g pm2 hoặc npm install -g pm2@latest

nodejs-cloudpanel14

 

Cấu hình

Ta cấu hình để pm2 tự chạy npm run start bằng lệnh sau:
pm2 start "npm run start"

Nếu câu lệnh để chạy ứng dụng của bạn là lệnh khác, bạn chỉ cần sửa lại câu lệnh đúng bên trong dấu “” là được. Ví dụ, với ứng dụng của tôi thì lệnh đúng là pm2 start "npm run dev-server:start"
Ta cũng có thể đặt tên cho ứng dụng trong pm2 bằng cách thêm tùy chọn --name "app-name"

Ứng dụng của bạn sẽ khởi chạy, và bạn sẽ thấy 1 bảng tương tự như sau:

nodejs-cloudpanel15

 

Tạo cron để ứng dụng khởi chạy tự động

Ta cần phải cấu hình 1 cronjob để nếu server có reboot thì ứng dụng cũng sẽ tự động khởi chạy.

Trước hết, ta chạy lệnh sau:
echo $PATH

Ta sẽ nhận 1 kết quả tương tự như sau:

nodejs-cloudpanel16

 

Thay đổi cấu hình cronjob, dùng lệnh:
crontab -e

Ta thêm các dòng sau vào cron, và lưu lại

PATH=<kết quả của lệnh echo $PATH>
@reboot pm2 resurrect &> /dev/null

nodejs-cloudpanel17

 

Ta có thể thử reboot server, rồi kiểm tra lại xem ứng dụng có thực sự được tự động khởi chạy hay không bằng lệnh
pm2 status

 

4. Kết luận

CloudPanel là 1 control panel đơn giản nhưng rất hữu dụng để triển khai ứng dụng NodeJS. Việc triển khai ứng dụng NodeJS trên CloudPanel mang lại nhiều lợi ích, từ việc quản lý tài nguyên hiệu quả đến đảm bảo hiệu suất tối ưu.
Với hướng dẫn từng bước trong bài viết này, bạn có thể tự tin triển khai và vận hành ứng dụng của mình. Bằng cách tận dụng các tính năng mạnh mẽ của CloudPanel, bạn sẽ dễ dàng duy trì và mở rộng hệ thống của mình khi cần thiết, đảm bảo sự ổn định và hiệu quả trong suốt quá trình hoạt động.

 

 

========================================================================================

P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

Rate this post