Bài 21-Cách cấu hình IISNode Web Server cho NodeJS


Trong bài 20, các Thím đã biết cách tạo 1 Project “HelloWorld” trong Visual Studio như thế nào rồi. Vấn đề là làm thế nào để NodeJS có thể chạy tự động 24/7 mà không cần có Visual Studio? Có rất nhiều cách làm. Ở đây Tui hướng dẫn các Thím cài đặt IISNode Web Server (Ta không bàn luận về điểm tốt và xấu của IISNode)

OK, bây giờ ta mở lại Project HelloWorld, và thêm 1 Javascript tên là: Help.js

bấm chuột phải chọn Add/ chọn new Item

Cửa sổ new item hiển thị ra:

Chọn JavaScript, đặt tên là Help.js rồi nhấn Add:

Nhập mã lệnh cho Help.js như dưới đây:


'use strict';
var http = require('http');
var port = process.env.PORT;

http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html;charset=utf-8' });
var str = 'Đây là màn hình <font color="red">hướng dẫn sử dụng</font>\n'
+ '<br/>'
+ 'Muốn học lập trình chuyên nghiệp, vào:'
+'<a href = "http://communityuni.com"> http://communityuni.com</a>'
res.end(str)
}).listen(port);

Để cho Help.js chạy trước ta bấm chuột phải vào Help.js chọn Set as Node.js Startup File. Nhấn F5 sẽ chạy file Help.js này, kết quả:

Chú ý dòng lệnh:

res.writeHead(200, { ‘Content-Type’: ‘text/html; charset=utf-8’ });

Dùng để hiển thị nội dung là HTML và có dấu Tiếng Việt.

Tuy nhiên đây mới chỉ là chạy trong công cụ lập trình, ta cần cấu hình Webserver để chạy Available 24/7. Nó dẫn tới 2 vấn đề:

Vấn đề 1: Phải cấu hình Web.config chỉ định các file JS tham gia dịch vụ

Vần đề 2: Cài đặt Webserver cho nó chạy, ở đây lựa chọn IISNode

Để tạo Web.config ta bấm chuột phải vào Project/ chọn New File:

màn hình New File hiển thị, đặt tên web.config:

Bấm OK để tạo file, Nhập coding cho file web.config như dưới đây:


<configuration>
<system.webServer>
<handlers>
<add name="iisnode1" path="server.js" verb="*" modules="iisnode"/>
<add name="iisnode2" path="help.js" verb="*" modules="iisnode"/>
</handlers>
</system.webServer>
</configuration>

Các bạn chỉ cần đổi path thành tên file Javascript mà bạn tạo trong Project là được (ở trên các bạn thấy có server.jshelp.js vì đây trong Project này tui có nó, còn của bạn có sao thì sài vậy nha).

Tiếp theo Để cài đặt Webserver IIS Node ta vào link sau: https://github.com/tjanczuk/iisnode/releases

Tải iisnode-full-v02.21-x64.msi và cài đặt

Bấm install và đợi 1 xí là xong:

Cài xong ta có :

Trong Program Feature:

Như vậy đã cài đặt xong khá đơn giản, Bước tiếp theo là cấu hình IIS (bạn cần phải đọc bài này để biết cách setup IIS Server trước nha), sau đó:

Mở IIS Manager lên:

Bấm chuột phải vào Default Website / chọn Add Application…:

Alias: Đặt là communityuni

Physical path: trỏ tới đường dẫn lưu Project HelloWorld của bạn (tới đường dẫn cuối cùng lưu help.js)

Bấm OK để tạo Website chạy 24/7, ta có:

Chạy lên ta được:

http://localhost/communityuni/help.js

http://localhost/communityuni/server.js

Như vậy là ta đã cấu hình IISNode WebServer thành công

Kiểm tra thêm Project, Nó tự động tạo thư mục iisnode trong chỗ coding:

Như vậy các bạn đã biết cách cấu hình WebServer IISNode cho NodeJS, thử nghiệm và chạy thành công không cần mở Visual Studio, giờ nó đã chạy 24/7.

Source code HelloWorld cho phần cập nhật help.js các bạn tải tại đây.

Bài sau Tui sẽ hướng dẫn các Thím cách coding với HTTPOST, HTTPGET để tương tác dữ liệu MongoDB trong NodeJS như thế nào. Các Thím chú ý theo dõi nhé

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. […] đã biết cách lập trình NodeJS và cấu hình IISNode Server. Tiếp sau đây Tui sẽ hướng dẫn các bạn chi tiết cách lập trình RESTful […]

  2. […] Ngoài ra các Thím cũng cần tập đưa nó lên IISNode Server nha để nó chạy 24/7 không cần phải có Visual Studio, xem hướng dẫn tại bài này […]

  3. […] 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ì […]

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: