Otu esi ede ngwa Node.js mbụ gị na Linux


Usoro mmepe webụsaịtị agbanweela nke ukwuu n'ime afọ ole na ole gara aga yana dịka onye nrụpụta webụ, ịnọ n'elu egwuregwu gị, ọ dị mkpa ka ị na-eji teknụzụ kachasị ọhụrụ emelite.

Javascript bụ asụsụ mmemme na-agbanwe ugbu a n'ebe ahụ; Obi abụọ adịghị ya na ọ bụ nkà na ụzụ kachasị ewu ewu nke ndị mmepe nchịkọta zuru ezu na-eji.

Usoro webụsaịtị Javascript abụrụla ngwọta anwansi maka mmepe webụ ọsọ ọsọ yana arụmọrụ zuru oke, nchekwa yana obere ọnụ ahịa. Eji m n’aka na ị nụla maka Node JavaScript (nke a na-akpọkarị Node.js ma ọ bụ naanị Node), enwere mkpọtụ gbasara ya na ịntanetị.

N'edemede a, m ga-egosi gị otu esi amalite na mmepe ngwa na Javascript iji Node.js na Linux. Mana nke mbụ, ka anyị nweta obere mmeghe na Node.js.

Kedu ihe bụ Node.js?

Node.js bụ isi mmalite mepere emepe, dị fechaa na arụ ọrụ nke ọma JavaScript oge arụnyere na Chrome's V8 JavaScript engine. Emebere ya na-enweghị eriri (otu-threaded) ma nwee mmejuputa yiri ya na Twisted, igwe netwọk wuru site na iji Python ma ọ bụ Event Machine, ọbá akwụkwọ na-ahazi mmemme maka mmemme Ruby.

Obi Node.js dabere na mmemme na-akwalite; Ya mere onye mmemme kwesịrị ịghọta ihe omume dị na otu esi azaghachi ha.

Njikwa ngwugwu n'okpuru Node.js

Node.js na-eji njikwa ngwugwu Javascript na gburugburu ebe obibi a na-akpọ \npm, nke nwere nnukwu ọba akwụkwọ mepere emepe n'efu. Ọ na-akwado mmepe ngwanrọ modular. Ị nwere ike iji ya wụnye ngwugwu ọnụ, kesaa, kesaa koodu gị ma jikwaa ya. ndabere ngwugwu.

Node.js dị ike ma dịkwa mkpa n'ihi ihe ndị a:

  • Ọ na-eji ihe omume asynchronous, nke anaghị egbochi ụdị mmebe nke I/O, nke na-eme ka ntinye ngwa na-akwado ma na-akwado scalability maka ngwa weebụ n'ezie.
  • Ọ bụ otu eri ka ọ ga-eji naanị otu CPU n'oge ọ bụla.
  • Ngwa webụ node.js bụ sava weebụ zuru oke dịka ọmụmaatụ Nginx ma ọ bụ Apache.
  • Ọ na-akwado eri site na child_process.fork() API, maka usoro ịmụ nwa, ma na-enyekwa modul ụyọkọ.

Site na mmeghe a dị nkenke, ị ga-achọsi ike ide mmemme Javascript nke mbụ gị. Otú ọ dị, ihe mbụ, ị ga-achọ ịwụnye ngwugwu Node.js na NPM na sistemụ Linux gị site na iji ntuziaka na-esonụ.

  1. Wụnye ụdị Nodejs na NPM kacha ọhụrụ na Sistemụ Linux

Otu esi emepụta ngwa Node.js mbụ gị na Linux

Ozugbo ị wụnyela Node.js, ị dịla njikere ịga. Mbụ malite site na ịmepụta ndekọ ga-echekwa faịlụ ngwa gị.

$ sudo mkdir -p /var/www/myapp

Wee banye na ndekọ ahụ wee mepụta faịlụ package.json maka ngwa gị. Faịlụ a na-enyere aka dị ka obere akwụkwọ maka ọrụ gị: aha ọrụ, onye edemede, ndepụta ngwugwu ọ dabere na ihe ndị ọzọ.

$ cd /var/www/myapp
$ npm init

Nke a ga-ajụ gị ọtụtụ ajụjụ, zaa naanị dị ka akọwara n'okpuru, wee pịa [Tinye]. Rịba ama na ihe kachasị mkpa na package.json bụ aha na mpaghara ụdị dịka akọwara n'okpuru.

  • Aha ngwugwu – aha ngwa gị, ọ dabara na aha ndekọ aha.
  • ụdị – ụdị ngwa gị.
  • nkọwa - dee nkọwa nkenke maka ngwa gị.
  • entry point – na-edobe faịlụ ngwungwu a ga-egbu.
  • iwu nnwale – eji emepụta script ule (ndabara na script efu).
  • git repository – kọwapụta ebe nchekwa Git (ọ bụrụ na ị nwere otu)
  • okwu – tọọ mkpụrụokwu, dị mkpa maka ndị ọrụ ndị ọzọ iji chọpụta ngwungwu gị na npm.
  • odee – ezipụta aha odee, tinye aha gị ebe a.
  • ikikere – ezipụta ikike maka ngwa/ngwugwu gị.

Ọzọ, mepụta faịlụ server.js.

$ sudo vi server.js

Detuo ma mado koodu dị n'okpuru na ya.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Ọzọ, malite ngwa gị site na iji iwu a.

$ node server.js
OR
$ npm start

Ọzọ, mepee ihe nchọgharị weebụ wee nweta ngwa webụ gị, nke na-adịghị eme ihe ọ bụla ọzọ karịa ibipụta eriri Ndewo ụwa!, na-eji adreesị:

http://localhost:3333

Na koodu anyị dị n'elu, isi mmemme a na-ahazi bụ arịrịọ HTTP site na modul HTTP.

Na Node.js, modul dị ka ọba akwụkwọ Javascript, ha nwere ọrụ ndị ị nwere ike ijikwa ọzọ na ngwa gị. Ị nwere ike iji modul arụrụ arụ, modul iri atọ ma ọ bụ mepụta nke gị.

Iji kpọọ modul na ngwa gị, jiri ọrụ achọrọ dịka egosiri.

var http = require('http');

Ozugbo a gụnyere http modul, ọ ga-emepụta ihe nkesa na-ege ntị n'otu ọdụ ụgbọ mmiri (3333 na ihe atụ a). Usoro http.creatServer na-emepụta ihe nkesa http n'ezie nke na-anabata ọrụ (nke a na-akpọ mgbe onye ahịa na-agbalị ịnweta ngwa) dị ka arụmụka.

http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);

Ọrụ dị na http.createServer nwere arụmụka abụọ: arịrịọ (arịrịọ) na nzaghachi (azịza). Arụmụka req bụ arịrịọ sitere n'aka onye ọrụ ma ọ bụ onye ahịa na arụmụka res na-ezigara onye ahịa azịza.

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

Akụkụ ikpeazụ nke koodu ahụ na-eziga mmepụta na njikwa, ozugbo ewepụtara ihe nkesa ahụ.

console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

N'akụkụ a, m ga-akọwa otu n'ime echiche kachasị mkpa n'okpuru mmemme Node.js nke a maara dị ka routing (tụnyere ntụgharị n'okpuru netwọk kọmputa: usoro ịchọta ụzọ maka okporo ụzọ na netwọk).

N'ebe a, nhazigharị bụ usoro nke ijikwa arịrịọ onye ahịa; na-eje ozi ọdịnaya onye ahịa rịọrọ, dị ka akọwapụtara na URL. URL bụ ụzọ na eriri ajụjụ mebere.

Ka ilele eriri ajụjụ onye ahịa, anyị nwere ike itinye ahịrị ndị dị n'okpuru na nzaghachi anyị.

res.write(req.url);
res.end()

N'okpuru bụ koodu ọhụrụ.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.write(req.url);
      res.end();		
      }).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Chekwaa faịlụ ma malite ngwa gị ọzọ site na iji iwu na-esonụ.

$ node server.js
OR
$ npm start

Site na ihe nchọgharị weebụ, pịnye URL dị iche iche nke a ga-egosipụta dịka egosiri n'okpuru.

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

Ugbu a, anyị ga-emepụta obere webụsaịtị maka Tecmint nwere ibe ụlọ, gbasara yana ibe ndị odee. Anyị ga-egosipụta ụfọdụ ozi na ibe ndị a.

Mepee faịlụ server.js maka edezi, tinye koodu dị n'okpuru na ya.

//include http module 
var http = require('http');

http.createServer(function(req,res){
	//store URL in variable q_string

	var q_string = req.url;
	switch(q_string) {
		case '/':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Welcome To linux-console.net!')
                        	res.end();
                        	break;
                	case '/about':
                		res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('About Us');
                        	res.write('\n\n');
                        	res.write('linux-console.net - Best Linux HowTos on the Web.');
                        	res.write('\n');
                        	res.end('Find out more: https://linux-console.net/who-we-are/');
                        	break;
                	case '/tecmint/authors':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Tecmint Authors');
                        	res.write('\n\n');
                        	res.end('Find all our authors here: https://linux-console.net/who-we-are/');
                        	break;
                	default:
                       		res.writeHead(404, { 'Content-Type': 'text/plain' });
                       		res.end('Not Found');
                        	break;
	}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');

N'ime koodu dị n'elu, anyị ahụla ka esi ede nkọwa na Node.js site na iji mkpụrụedemede // ma webata ngbanwe na nkwupụta okwu maka imegharị arịrịọ ndị ahịa.

Chekwaa faịlụ ahụ, malite ihe nkesa wee gbalịa ịnweta ibe dị iche iche.

Nke ahụ bụ maka ugbu a! Ị nwere ike ịchọta ozi ndị ọzọ na webụsaịtị NPM.

Node.js na-arị elu n'ọkwa ọhụrụ taa, o meela mmepe njupụta zuru oke karịa ka ọ dị na mbụ. Ọ bụ nkà ihe ọmụma pụrụ iche nke mmemme na-eme ihe omume na-enyere gị aka ịmepụta ọkụ ọkụ ngwa ngwa, ịrụ ọrụ nke ọma na usoro weebụ na sava.

Na-esote, anyị ga-akọwa usoro Node.js, nke na-agbatị ikike nke ala ya maka ịmepụta ngwa weebụ/mkpanaka ngwa ngwa na ntụkwasị obi. Kekọrịta echiche gị gbasara akụkọ a site na ngalaba nkọwa n'okpuru.