Silentdoer

导航

Linux下安装Node.js

一:前言

  由于bash里有蛮多功能是没有的或者不够好用,比如Base64编码/URLEncoder/开启网络连接等等,而用java等编译型语言又太麻烦,干脆就再学一门脚本语言;刚开始是想弄python的,毕竟轮子很多,后来想了想自己以后会经常用到js,所以就先弄node.js好了,以后有时间再弄弄python,不过也只是限于能看懂就好了;

二:node.js的解释器环境的安装

1.在https://nodejs.org/en/download/下载Linux Binary(x86/64)的LTS版本的,arm适用于手机之类的移动设备;

2.将压缩包解压到/usr/local目录下并改名为nodejs,注意我下的是xx.tar.xz,要用如:tar -xJvf /home/silentdoer/Downloads/node-v8.11.1-linux-x64.tar.xz -C /usr/local命令来解压;

3.然后通过ln -s命令将nodejs/bin下的node和npm创建软连接到/usr/local/bin目录下,这样可以不需要再配置PATH变量;(注:创建软连接无论是源还是目标都必须要用绝对路径否则此软连接是错误的)

4.对node和npm进行测试:node -v和npm -v;能正确输出版本号则说明没问题;

三:创建一个简单的hello.js脚本

var http = require('http');
// 这里解释下,function...就类似C#里的委托或java里的Runnable实现类对象
// 而listen就有点像start方法,即:Thread t = threadFactory.createThread(\
// runnable);t.start();则当有客户端访问localhost:9090时这个server会调用\
// command命令对象,即function来处理,req和resp由server提供;
http.createServer(function(req, resp) {
    resp.writeHead(200, {'Content-Type': 'text/plain'});
    resp.end('Hello, World.\n');
}).listen(9090, 'localhost');
console.log('服务已经开启,可以访问http://localhost:9090/进行测试');

然后执行node hello.js;通过控制台输出和浏览器测试无误;

四:部分原理和理解总结

node hello.js其时就类似java me.silentdoer.test.Entrance一样,只不过后者是经过编译后的,当是如果你足够厉害可以手写jvm指令(即字节码)那么字节码其实也就是一种解释性的语言,即脚本语言;

这里node hello.js是会开启一个node进程,就类似java开启一个jvm实例一样;可以开启多个node进程,由node进程(类似jvm实例)去解析.js中的脚本然后映射的去调用平台相关的api来完成任务;

还可以通过:node --max-old-space-size=2048 --max-new-space-size=2048 hello.js来指定此node实例运行时的内存大小(有点像jvm中的-Xms/-Xmx之类的)

posted on 2018-04-10 21:09  Silentdoer  阅读(255)  评论(0编辑  收藏  举报