Nút web

Trong bài viết trước, chúng ta đã tìm hiểu web service là gì và cách cài đặt nodejs. Ở bài viết này chúng ta hãy cùng tìm hiểu cách triển khai website đơn giản

Trong ví dụ này, chúng ta sẽ viết một trang web nhận nhiệm vụ hiển thị tệp html khi người dùng yêu cầu đến

lục mục

Khởi tạo project node js

Bước 1. bật thiết bị đầu cuối và cd vào dự án

Terminal là cửa sổ lệnh để bạn có thể tương tác với máy tính, có 2 cách để bật terminal trên windows

1. Gõ “cmd” và nhấn enter trên đường dẫn

Nút web
Hình ảnh

2. Cài đặt gitbash vào máy, nhấp chuột phải và chọn gitbash

Nút web
Hình ảnh 1

Bước 2. Chạy npm init

khởi tạo npm

Nút web
Hình ảnh 2

Đây là bước khởi tạo dự án, Bạn có thể nhấn enter để liên tục tiếp theo mà không điền gì cả để tạo dự án mới, hoặc sao chép dự án mà Stream Hub chuẩn bị tại đây

Bước 3. Cài đặt thư viện

Trong project đơn giản này, chúng ta cần đến thư viện express của nodejs. Chúng ta cài đặt express bằng lệnh

npm cài đặt express –save

Bước 4. Thiết lập ứng dụng tập tin. js

Sau khi cài đặt express, bạn có thể tạo một ứng dụng tệp. js with a structure as after

const express = require('express');
const app = express();
const port = 8080;
app.use(express.static(__dirname + '/public'));
app.get('/', (req, res) => { return res.render('index'); });
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

Ở đây bạn có thể thấy, khi người dùng yêu cầu dịch vụ web của họ chạy ở PORT 8080, họ vào thư mục công cộng và hiển thị chỉ mục tệp. html ra

ứng dụng tệp. js và cấu trúc thư mục bạn có thể tham khảo tại liên kết sau https. //github. com/concalahan/simple-nodejs-web-service/blob/master/app. js

Bước 5. Chạy nodejs

Truy cập thiết bị đầu cuối và sử dụng lệnh để chạy dự án nodejs của chúng tôi

node app.js

Bước 6. mở trình duyệt

Điền localhost. 8080 vào trình duyệt và bạn sẽ thấy dịch vụ web đã hoàn thành nhiệm vụ kết xuất tệp html

Cách triển khai website lên VPS

Sau khi tạo một dự án nodejs, chúng ta cần đưa nó chạy thật trên web, quá trình này được gọi là triển khai

Deploy/ triển khai là gì?

Deploy theo tiếng Việt nghĩa là triển khai phần mềm. Phần mềm ở đây là web server/ web service mà chúng ta đã code. Hiểu đơn giản, triển khai là tất cả các hoạt động làm cho một hệ thống phần mềm có sẵn để sử dụng

Deploy bạn cần chuẩn bị những gì

  • Một con VPS. giá theo tháng tầm 5$-7$ (tầm 100k đến 150k) tùy theo nhà cung cấp. Hiện tại mình đang sử dụng dịch vụ của Digital Ocean với mức giá 5$/tháng. Hệ điều hành mình thường tạo cho VPS là Ubuntu
  • Phần mềm kết nối với VPS hoặc thiết bị đầu cuối. Trên các cửa sổ điều hành hệ thống, bạn có thể sử dụng các trình giả lập thiết bị đầu cuối để cho phép kết nối như Putty. Hoặc nếu bạn cài đặt hệ điều hành dựa trên Linux như Ubuntu, bạn có thể sử dụng thiết bị đầu cuối để kết nối
  • Một phần mềm quản lý mã nguồn phân tán như git, và một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên web nền – như github
  • Source run your. Hiện tại mình sẽ sử dụng nguồn https. //github. com/concalahan/simple-nodejs-web-service

Các bước thực hiện

Connected with VPS

Khi mua VPS, nhà cung cấp VPS sẽ gửi cho bạn một địa chỉ IP. Địa chỉ IP được viết bằng ký hiệu thập phân cách nhau bởi dấu. , is 4 bộ số được phân tách bằng dấu chấm, mỗi bộ đại diện cho số 8 bit nằm trong khoảng từ (0-255). Một ví dụ về địa chỉ IPv4 là 216. 3. 128. 12,

Sau khi có địa chỉ IP, nhiệm vụ của bạn là sử dụng phần mềm kết nối VPS để kết nối với VPS, ở đây mình dùng putty

Nút web
bột trét

Bạn chỉ cần nhập địa chỉ IP vào ô này, xong bấm kết nối, sau đó nhập tên người dùng và mật khẩu mà nhà cung cấp VPS gửi cho bạn, vậy là bạn đã kết nối thành công

Upload mã nguồn lên VPS bằng github

Có nhiều cách để upload mã nguồn của bạn lên VPS, ở đây mình sẽ hướng dẫn một số cách đó, sử dụng github

Tạo public key trên VPS

Bước đầu bạn phải làm cho VPS hiểu nguồn của bạn đang ở github và quay lại. Để làm được việc này, mình cần thêm khóa công khai của VPS vào khóa triển khai của dự án trên github

Vì mình dùng VPS chạy Ubuntu nên dùng lệnh sau để tạo public key

ssh-keygen

Sau đó nhấp vào liên tục, khi thấy đoạn mã như sau nghĩa là bạn đã tạo khóa công khai thành công rồi

Nút web
Ssh Keygen Tạo khóa Rsa

Tìm public key trên VPS

Sau khi tạo khóa chung, bạn tìm khóa chung bằng lệnh

cat ~/.ssh/id_rsa.pub

or command

cat ~/.ssh/id_dsa.pub

Thêm khóa công khai vào github

Sau khi có khóa công khai, bạn thêm vào khóa triển khai bên github, tại cài đặt → khóa triển khai → Thêm khóa triển khai. Ở tiêu đề mục, bạn đặt tên của khóa chung và sao chép khóa chung vào khóa mục như hình

Nút web
Thêm Ssh Github

Đừng quên nhấn “add key” bạn nhé

Sao chép dự án từ VPS

Sau khi thêm xong khóa công khai vào github, bạn tiến hành “tải xuống”/ sao chép dự án bằng SSH từ VPS bằng lệnh

git clone [email protected] :concalahan/simple-nodejs-web-service.git

Remember up url to url project of you

Cài đặt thư viện

Ở bước này, bạn đã cài đặt npm và nút để chạy dịch vụ web của chúng ta trên web, hướng dẫn này đã được phát trực tuyến tại trung tâm viết tại đây

Cài đặt biến môi trường (environment variable)

Vì lý do bảo mật, có một số biến bạn cần phải đánh dấu trong môi trường triển khai, ví dụ như nếu bạn kết nối cơ sở dữ liệu bằng url, thì đoạn url kết nối cơ sở dữ liệu bạn cần trong VPS, cụ thể là trong môi trường tệp của VPS

Để thực hiện công việc đó, bạn cần viết biến vào tệp đó bằng lệnh

sudo -H gedit /etc/environment

You can change gedit by nano or vi all been. Ví dụ bạn muốn thêm biến NODE_ENV có giá trị là sản phẩm, bạn cần làm như sau

NODE_ENV='prod'

Chạy máy chủ web/dịch vụ web bằng pm2

PM2 là trình quản lý quy trình Node. js (ứng dụng Nodejs quản lý quy trình sản xuất)

Khi chạy chương trình bằng ứng dụng nút. js (ứng dụng. js là file chính của nguồn mình), khi bạn tắt terminal/putty thì web server/web service của bạn cũng “đóng”. To keep for web server/ web service of you always run, we need to use pm2

To install pm2, you used command

________số 8

Sau đó, bạn cần cd vào thư mục chứa tệp tin chạy của dự án, trong dự án Nodejs của mình, đó là tệp ứng dụng. js, after that run

pm2 start app.js

Để xem những dự án bạn đã chạy bằng pm2, bạn có thể sử dụng lệnh

danh sách pm2

Nếu màn hình hiển thị như sau nghĩa là bạn đã làm thành công

Nút web
Danh sách Pm2

Sau khi chạy pm2, bạn hoàn toàn có thể vào trang web của mình tại địa chỉ theo cú pháp. [địa chỉ IP]. [Hải cảng]

At ví dụ của mình. cổng là 8080

Connected domain to vps

Sau khi triển khai, web của bạn sẽ vẫn ở định dạng IP. cổng, để gán tên miền vào máy chủ, chúng ta cần một tên miền, và quyền chỉnh sửa DNS của tên miền đó. Ở đây mình mua tên miền tại Godaddy, nên sửa tại trang web của nhà cung cấp tên miền này

Bạn vào mục quản lý DNS , ví dụ với stream hub thì URL sẽ là. đcc. cố lên bố. com/quản lý/STREAM-HUB. COM/dns

Nút web
Thêm Bản ghi

Bạn cần chỉnh sửa “A record” và thay đổi địa chỉ IP của VPS

Sau khi chuyển đổi, cần đợi tầm 1 giờ để cập nhật hệ thống

Sau 1 giờ, bạn có thể vào web theo cú pháp. miền. 8080

Như bạn có thể thấy, chúng ta vẫn còn hiển thị cổng. Ở bài viết sau, Stream Hub sẽ hướng dẫn bạn loại bỏ cổng khỏi miền bằng Nginx. Nếu chưa biết về Nginx, hãy cùng đọc bài viết giới thiệu Nginx là gì tại đây