Trang chủ / Code / Cài đặt NodeJS và tạo webserver đơn giản bằng JavaScript
cài đặt nodejs

Cài đặt NodeJS và tạo webserver đơn giản bằng JavaScript

Chào các bạn!

Cũng lâu lắm không viết bài mới trên blog, khoảng 4 tuần rồi, thôi thì cố viết lấy 1 bài mặc dù rất bận rộn để cho Google nó index :D. Bài viết đầu tiên của năm 2016, mình xin viết về chủ đề NodeJS dành cho bạn nào là lập trình viên (Front-end hay Back-end đều được)

Mình xin nói qua chút về công nghệ NodeJS. Nó cũng không còn mới mẻ gì nữa vì mình cũng làm về NodeJS 2 năm rồi, ở Việt Nam thì đa phần các WEB Developer thường là PHP, chiếm tới 95% nên NodeJS có thể hơi xa lạ mặc dù ở nước ngoài thì nó quá phổ biến rồi.

NodeJS là gì? Có ăn được không?

NodeJS là mã nguồn mở phát triển bởi Ryan Dahl năm 2009 dựa trên bộ engine Google JavaScript V8, đây chính bộ engine xử lí JavaScript trên trình duyệt Google Chrome giúp bạn có thể thực thi các đoạn mã JavaScript trên server giống như ngôn ngữ PHP, như các bạn cũng biết JavaScript là ngôn ngữ phía client tức là nó được xử lí tại trình duyệt của người dùng nên khi được chuyển lên server xử lí nó cho tốc độ rất nhanh, qua thử nghiệm của mình thì nó nhanh hơn PHP tới 95%.  Thật tuyệt vời phải không nào. Đến đây chắc có nhiều bạn hỏi vậy thì để tạo một website động có cần tới PHP nữa không? Câu trả lời là không, website của bạn sẽ được viết hoàn toàn bằng JavaScript. Với sự hỗ trợ của các Framework như Express, Meteor, Ember,… bạn hoàn toàn có thể tạo ra một website động với tốc độ cực nhanh, ứng dụng mô hình MVC tương tự như PHP, thậm chí bạn còn có thể viết ứng dụng cho Android/IOS hoàn toàn bằng JavaScript (Nhờ Framework React Native, Meteor)

Chắc hẳn đối với các bạn lập trình viên PHP thì cũng đã làm nhiều về JavaScript rồi nên bắt đầu với NodeJS cũng không có gì khó khăn lắm, nó chỉ thêm một số module thôi. Bây giờ mình sẽ hướng dẫn bạn cài đặt NodeJS trên 2 hệ điều hành đó là Windows và Linux  để bạn có thể tự học NodeJS

Cài đặt trên Windows

Cài đặt NodeJS trên Windows (Xp/7/8/10) thì rất đơn giản thôi, bạn lên trang trủ NodeJS (https://nodejs.org/en/) download bộ cài cho Windows về, phiên bản mới nhất là 5.7.0. Sau khi download về cài đặt nó như một phần mềm bình thường thôi, mình không hướng dẫn ở đây vì quá đơn giản rồi. Sau khi cài đặt xong, bạn mở Command Prompt của Windows lên (Nhấn Windows + R) sau đó gõ cmd và Enter, giao diện dòng lệnh của Windows sẽ hiện ra, bạn gõ lệnh node – v, nếu nó hiện ra phiên bản của NodeJS là 5.7.0 thì bạn đã cài thành công

Cài đặt NodeJS trên Linux (Ubuntu/Debian/CentOS)

Với Ubuntu thì bạn gõ lệnh sau:


sudo apt-get install curl

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

sudo apt-get install -y nodejs

Với Debian:


sudo apt-get install curl

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

apt-get install -y nodejs

Với CentOS:


yum install curl

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

yum -y install nodejs

Xong thì cũng gõ node -v nếu hiện ra phiên bản thì bạn đã cài thành công!

Tạo webserver đơn giản

Đi kèm với NodeJS có một module http giúp bạn dễ dàng tạo một webserver ảo, đầu tiên mình hướng dẫn trên Windows

Trên Windows bạn mở ổ C ra tạo một thư mục là nodejs sau đó tạo một file trong thư mục này tên là server.js

Mở lên gõ đoạn code sau vào và lưu lại:


var http = require('http');

var fs = require('fs');

var index = fs.readFileSync('index.html');

http.createServer(function(request,response){

response.writeHead(200, {"Content-Type": "text/html"});

response.write(index);

response.end(); }).listen(1337, '127.0.0.1');

console.log('Webserver dang chay...');

Cũng trong thư mục nodejs tạo thêm một file index.html và copy đoạn sau bỏ vào và lưu lại:

<!DOCTYPE html> 
<html> 
<head> 
<title>NodeJS Web Server</title> 
<style> h1 { color:red; text-align:center } </style> 
</head> 
<body> 
<h1>Hello World</h1>
</body> 
</html>

Sau đó mở CMD của Windows lên, chạy 2 lệnh sau:

cd c:\nodejs 
node server.js hoặc node server

Mở trình duyệt lên gõ 127.0.0.1:1337 và bạn sẽ thấy dòng chữ Hello Word xuất hiện

Tương tự trên Linux, bạn cũng tạo ra một thư mục là Nodejs và tạo ra 2 file server.js và index.html giống như trên windows, có điều sửa lại file server.js, chỗ listen sửa 127.0.0.1 thành Ip Public của VPS của bạn ví dụ


var http = require('http');

var fs = require('fs');

var index = fs.readFileSync('index.html');

http.createServer(function(request,response){
response.writeHead(200, {"Content-Type": "text/html"});

response.write(index);

response.end(); }).listen(1337, '183.34.56.789');

console.log('webserver dang chay...'); 

Sau đó cũng gõ lệnh node server.js (hoặc node server)

Mở trình duyệt lên gõ IP_VPS:1337 và bạn sẽ thấy dòng chữ Hello Word xuất hiện

Mình xin giải thích về đoạn code trong file server.js như sau:

Đầu tiên ta import module http của NodeJS để có thể tạo ra webserver, tiếp ta import module fs (File System) để có thể đọc được file index.html bên ngoài

Tiếp đến, ta gọi phương thức createServer() để tạo webserver, nó chấp nhận  2 tham số request, respone (request chứa các thông tin người dùng yêu cầu và respone để trả về thông tin cho người dùng)

Phương thức respone.writeHead sẽ set header thông tin trả về sẽ ở dạng text/html và mã 200 là mã trạng thái thông báo kết nối thành công. Phương thức respone.write() sẽ trả về thông tin cho người dùng, nó lấy dữ liệu từ biến index được đọc từ file index.html. Phương thức respone.end() để kết thúc. Cuối cùng phương thức listen để thiết lập webserver hấng dữ liệu trên cổng 1337(cổng mặc định của NodeJS, bạn có thể để port tuỳ thích miễn không trùng với các port đang được hệ thống sử dụng).

Bài đầu tiên về NodeJS mình chỉ nói tới đây thôi, sắp tới sẽ viết thêm một loạt bài về NodeJS, các bạn nhớ truy cập thường xuyên để xem nhé :D

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

NodeJS thì bản chất cũng là JavaScript mà thôi nên nếu muốn làm tốt về NodeJS thì bạn phải am hiểu về JavaScript, do đó mình xin gửi tặng bạn cuốn JavaScript toàn tập A-Z để bạn học và luyện tập, nhập thông tin vào form bên dưới và mình sẽ gửi nó vào email cho bạn!