Bài 28-NodeJS RESTful Web Services – Cấu hình IISNode


bài 21 Ta đã biết cách cấu hình IISNode rồi nha (và bắt buộc phải làm được thì mới tiếp tục với bài 28 này được).

Nhiệm vụ của Ta bây giờ là cấu hình bài 27 chạy 24/7(Bài đã hoàn thành đầy đủ 4 Method: HTTPPOST, HTTPGET, HTTPPUT, HTTPDELETE). Ở đây có sự khác biệt khó khăn hơn nữa là ta dùng thư viện express, dùng mongodb, dùng Web API. Bây giờ làm sao để cấu hình nó chạy trên Web Server đây ta?

Bây giờ mở bài 27 lên cấu hình IISNode, vì ta có liên quan tới iisnode+express nên cần có thêm một số cấu hình (lưu ý là phải hoàn thành bài 21 trước thì mới tiếp tục bài này):

Bước 1:  Làm bài 21

Bước 2:

Tải và cài đặt url-rewrite: https://www.iis.net/downloads/microsoft/url-rewrite

Bấm vào Install this extension để tải rồi cài vào máy, nó ra màn hình bên dưới bấm nút Save File:

Double click vào file tải về để cài:

bấm vào rồi chờ nhà:

Chờ nó chạy để ra màn hình Web Platform Installer như bên dưới:

Bấm Install để cài đặt, nó ra màn hình hỏi lung tung về URL Rewrite bên dưới:

Bấm I Accept nhé.

rồi rung đùi chờ nó tải và cài đặt

Rung đùi cho tới khi nào cài xong:

Tới đây là ngon lành cành đào nha. Bấm FINISH để kết thúc

Bước 3:

Thêm file cấu hình web.config cho Project NodejsRESTful bài 27. Cách file web.config đã hướng dẫn ở bài 21 rồi


<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="api">
<match url="/*" />
<action type="Rewrite" url="server.js" />
</rule>
</rules>
</rewrite>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="node_modules" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>

Xem hình:

Như vậy ta đã thêm thành công file web.config rồi

Bước 4:

Cấu hình Web Service cho Project để chạy 24/7 trên IIS (cái này bạn tùy thích đặt tên):

Ví dụ: Tui đặt alias là nodejsapi. Physical path trỏ tới đường dẫn lưu server.js. Cách tạo, đặt như thế nào đã nói rất rõ trong bài 21 tự coi lại nha

Bấm OK để tạo

Bước 5: Kiểm thử

Mở PostMan hoặc các phần mềm tương đương khác lên để kiểm thử:

Ở trên Tui test API http://localhost/nodejsapi/products

Các bạn tự test các API còn lại như:

http://localhost/nodejsapi/products/P1

Hay kiểm thử API thêm Product:

http://localhost/nodejsapi/addProduct

http://localhost/nodejsapi/editProduct

http://localhost/nodejsapi/deleteProduct

 

Như vậy các bạn đã biết toàn bộ các method: HTTPPOST, HTTPGET, HTTPUT, HTTPDELETE. Và đồng thời biết cách cấu hình IISNode cho WEB API chạy 24/7 rồi. Bài học sau Tui sẽ hướng dẫn các bạn cách thức dùng Android Kotlin để triệu gọi toàn bộ các Web API này.

Lưu ý khi các thiết bị (ứng dụng khác) muốn tương tác tới các WEB API này thì các Thím phải đưa về Địa chỉ IP hoặc đẩy lên 1 hosting nào đó để dùng. Ví dụ như trường hợp này thì ta lấy địa chỉ IP của máy Tui chẳng hạn, test API lấy danh sách Product (nếu để localhost sẽ sài vì thiết bị khác nếu nó có OS nó tưởng localhost là của nó):

Các bạn chú ý theo dõi nhé

Source code cho phần cấu hình này tải ở đây

Các khóa học online khác, bạn có thể tham khảo tại đây: http://communityuni.com/

Innovate Trading System (Kênh đầu tư lợi nhuận rất cao), các bạn nào quan tâm thì vào đây đầu tư nhé:

Chúc các bạn thành công!

3 responses

  1. […] hoàn thành 100% xây dựng RESTful Webservice bằng Nodejs. Nó đã được cấu hình trong bài 28 chạy trên IISNode […]

  2. […] Ở bài 29 Tui đã nói sơ qua các chức năng bạn phải hoàn thành để truy cập mọi Web API được deploy trong bài 28. […]

  3. […] ý là IISNode của toàn bộ API này được deploy trong bài 28. Và API Edit Product được trình bày chi tiết trong bài 26. Nếu nếu các Thím có […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: