Cách deploy server lên vps window

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

sudo apt install curl

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

sudo apt install nodejs

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

# go inside cd simpleServer

# create package.json

# install Express.js

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

const express = require('express');
const app = express();

app.get('/', (req, res) => {
res.send("Hello World!");
});

const port = 3000;
const server = app.listen(port, () => {
console.log(`Listening on http://localhost:${port}`);
});

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

# 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

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

+ Để 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

pm2 stop app

pm2 start app

pm2 restart app

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

Cách deploy server lên vps window

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

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

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

server { listen 80; server_name <YourVPSIpAddress>; location / { proxy_pass http://localhost:3000/; } }

Cách deploy server lên vps window
Cách deploy server lên vps window

đạ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

sudo ln -s /etc/nginx/sites-available/nghiahsgs /etc/nginx/sites-enabled

3/ restart nginx

sudo systemctl 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

Hello các bạn, sau khi các bạn code xong ứng dụng react 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.

Về cơ bản nó khá giống với bài hướng dẫn deploy ứng dụng node js lên vps của mình

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

https://gist.github.com/nghiahsgs/74b509d71d155d84310cbb571df096b6

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

node -v

npm -v

Bước 3: tạo một app đơn giản dùng create-react-app

npx create-react-app test-react

các bạn gõ câu lệnh trên đẻ tạo ra một app react đơn giản, hello worl của react.

Sau khi tạo xong project, các bạn chạy project bằng câu lệnh npm start

Bây giờ các bạn mở trình duyệt lên và vào địa chỉ <your_vps_ip>:port để xem app react của các bạn. Vd sẽ là 123.146.789:3000 (3000 là port mặc định của react)

Cách deploy server lên vps window

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

https://gist.github.com/nghiahsgs/fffbd857347ac61a6cf5d2f84d4ae876

# 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

https://gist.github.com/nghiahsgs/930d9624f680e247312d2ac6643558a8

+ Để 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

https://gist.github.com/nghiahsgs/7825320614e5de786f638e07fda4fdd0

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

Cách deploy server lên vps window