Cách deploy nodejs lên vps

Hello các bạn, sau khi các bạn code xong ứng dụng nodejs chạy trên local, các bạn thấy thích vc và muốn public nó lên mạng cho bạn bè cùng xem thì đây chính là hướng dẫn mà bạn cần. Thao tác public web lên mạng có tên kỹ thuật là deploy code của bạn lên, để mọi người có thể truy cập được.

 

B1: mua vps, login vào vps dùng ssh key hoặc user pass (dùng bitvise ssh client)

B2: Sau khi đã ở trong cửa sổ termial của vps (nên dùng ubuntu 18.04) thì cần cài node js

Nên cài phiên bản > 10

Check cài đặt thành công bằng 2 câu lệnh

node -v

npm -v (nếu không có thì gõ apt install npm)

Bước 3: tạo một server node js đơn giản dùng express

# create folder simpleServer

mkdir simpleServer

# go inside cd simpleServer

# create package.json

npm init -y

# install Express.js

npm install express

Tạo và mở file server.js (vim server.js) rồi dán đống này vào, nội dung đống này là tạo một server node đơn giản hello world bằng express

Sau đó bạn thử lên <YourVPSIpAddress>:3000, khi đó bạn sẽ thấy hello world tức là đã thành công

Bước 4: cài đặt PM2

+ sau bước 3 bạn đã đã có thể vào web của mình, nhưng chỉ có điều khi bạn tắt của sổ terminal đí, web bạn cũng down luôn. Chúng ta cần vài tool để giữ cho web bạn luôn alive. Đó là PM2

Cài đặt PM2

# globally install PM2

npm install pm2 -g

# check if installed properly

pm2 -V ==> 2.10.4

+ pm2 sẽ làm server của chúng ta chạy ngầm và nếu nó bị crash, pm2 sẽ tự reset lại server cho chúng ta

pm2 start server.js

 

+ Để show tất cả các process mà pm2 đang chạy dùng câu lệnh

pm2 ls

+ Để xóa một process ra khỏi danh sách process

pm2 delete tên_process (tên lấy ở trong pm2 ls)

+ Để ngừng, bắt đầu hoặc khởi động lại một process

trong đó app là tên của process

Bước 5: cài đặt Nginx

nginx sẽ giúp điều hướng người dùng, tối ưu hiệu suất server, ví dụ có 10 người dùng truy cập cùng nội dung, thì nginx sẽ gom những người đó lại rồi trả về cùng một kết quả. Nói chung nó nhiều chức năng, mình cũng chỉ học thoáng qua nên nhớ vậy, chi tiết về nginx chắc nao mình viết bài khác sau

sudo apt-get install nginx

# check if installed sudo

nginx -v

Sau khi cài xong nginx, chúng ta cần tạo file cấu hình cho server

cd /etc/nginx/sites-available

Tạo một file mới, đặt tên tùy bạn, nhưng nên đặt tên theo tên folder chứa code của bạn

vim nghiahsgs

trong file này, dán đoạn này vào

đại ý của code trên là nếu ai vào trực tiếp ip của bạn, không qua port 3000 thì nó sẽ đẩy trực tiếp sang port 3000

Đến đây bạn cần làm 3 dòng code nữa để enable file config của bạn

1/ check xem file configure okie chưa

2/ enable file configure

3/ restart nginx

 

Bước tiếp theo cần làm đó là tạo tường lửa và tạo https cho web bạn nhưng các bạn có thể dùng ở sau bước pm2 là đủ cho một sản phẩm demo, không cần bước nginx cũng được

 

Leave a Comment