龙芯3A2000运行node.js的初体验

发布时间: 转载:http://www.loongson.cn/news/company/449.html

一、初识node.js

Node.js是一种面向后台Web服务器的脚本语言,其语法是Javascript。最早的Javascript是起源于Web浏览器前端,是用于加强HTML页面的交互能力而设计的。但是,程序员们发现这种语言非常安全、灵活、高效,因此把它迁移到了后台服务器上,就是node.js,用于方便地搭建响应速度快、易于扩展的网络应用,从2009年出现开始,到现在已经有非常高的普及率。

Node.js形象标识

对于这样一个使用广泛的语言,龙芯平台能不能方便的支持呢?今天我们就从头开始搭建node.js的环境,试验一下龙芯电脑好不好用。

二、龙芯3A2000桌面电脑

我们使用的机器是一台龙芯3A2000桌面电脑。龙芯3A2000是2015年8月发布的最新4核CPU,目前已经批量供货,性能与Intel i3看齐,足够日常办公使用,预装了浏览器、Office、文件管理、影音播放等常用的软件,开箱即用。

龙芯3A2000桌面电脑

三、龙芯社区操作系统Loongnix

在今天的实验中,我们仍然使用龙芯开源社区版操作系统Loongnix。Loongnix是由龙芯公司主导开发的,并且组织联合产业链合作厂商、国际开源软件社区及开源爱好者共同参与建设。社区以“开源、开放”的形式进行管理,设置内核、浏览器、JAVA、图形、编译工具等系列基础软件项目。在龙芯基础软件方面的研制优化成果将首先在社区版的Loongnix操作系统中集成和验证。 这篇文章就是使用3A2000电脑上的金山WPS创作的,是不是很酷?

龙芯社区版操作系统Loongnix

Loongnix的下载地址在这里:http://www.loongnix.org/index.php/Loongnix 。下载镜像iso文件,支持制作U盘安装live版本。

四、第一个node.js程序

实际上,Loongnix已经内置提供了node.js的运行环境。打开终端,运行下面的命令,通过网络在线安装必要的软件包:

# yum install -y nodejs
(需要以管理员身份运行)

现在可以测试一下,检查node.js的版本号:

$ node -v
v0.12.4

现在可以编写一个最小的Web服务器程序web.js:

[web.js]
var http = require("http");
http.createServer( function(req, res) {
  res.writeHead(200, {"Content-Type": "text/html"});
  res.write("<h1>Node.js OK</h1>");
  res.end("<p>Hello Loongson 3A2000!</p>");
}).listen(3000);
console.log("HTTP server is running at port 3000.");

运行这个程序:

$ node web.js
HTTP server is running at port 3000.

现在打开一个浏览器,输入地址:http://127.0.0.1:3000,可以看到龙芯运行node.js的正确页面:

龙芯3A2000运行node.js小程序

五、编译新版本的node.js

上面的例子已经证明龙芯运行node.js了,但是由于node.js的官方版本更新很快,我们往往需要下载最新源代码进行编译,才能得到最新的官方运行环境。打开浏览器,直接访问node.js主页,下载最新版本node-v4.4.3.tar.gz。文件只有21.4 MB。 下载地址:https://nodejs.org/en/ Linux上的软件编译方式都是大同小异,基本都是“解包 - 配置 - 编译 - 安装”的套路。Node.js也不例外,命令都是极其简单。走完一遍流程之后就会发现,在Linux上安装软件其实比Windows上更简洁方便。 1. 解包

$ tar zxf node-v4.4.3.tar.gz -C ~
$ cd ~/node-v4.4.3

由于官方node.js没有在龙芯Loongnix上适配过,因此有一些文件需要做微小的调整才能正确编译。好在修改的量很小,最后只有在configure文件的591和682行做了如下修改,主要是修改了体系结构的名称:

591c591,592
<     '__MIPSEL__'  : 'mipsel',
---
>     '__MIPSEL__'  : 'mips64el',
> #    '__MIPSEL__'  : 'mipsel',
682c683
<   elif target_arch in ('mips', 'mipsel'):
---
>   elif target_arch in ('mips', 'mipsel', 'mips64el'):

2. 配置

$ ./configure

3. 编译

$ make -j 8

下面就是等待编译完成了。在龙芯3A2000上编译大约需要10分钟时间。 4. 安装

# sudo make install
(这时候会提示输入管理员密码)

不出意外的话,上面的过程应该一切顺利。 5. 运行 默认的安装位置是在/usr/local下。我们先打印一下版本信息吧:

$ /usr/local/bin/node -v
v4.4.3

看见了吧?版本标识里面鲜明的打印了“4.4.3”,这个就是我们手工编译的最新版本。测试前面的小例子,功能也是完全正常的。

六、更多的系统演示

Node.js是平台无关的语言,这意味着龙芯平台拥有了node.js的全套软件生态,以往在X86平台上搭建的服务器应用系统,现在都能够以“零代价”的方式迁移到龙芯平台上来。 现在node.js的资源太多了,笔者只试验了两个较大规模的系统,一个是TiddlyWiki5,是一款交互式的wiki,非常灵活,它也可以在浏览器里作为单一的HTML文件或者是一款功能强大的应用程序;另一个是NodeOS,是采用node.js开发的一款友好的操作系统,该操作系统是完全建立在Linux内核之上的,并且采用shell和NPM进行包管理,采用node.js不仅可以很好地进行包管理,还可以很好的管理脚本、接口等。 有兴趣的朋友可以再找类似的系统搭建起来,参见这篇文章《NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目》。(http://blog.csdn.net/kaitiren/article/details/17410209)

龙芯平台上运行TiddlyWiki5系统

龙芯平台上运行NodeOS系统

七、总结和体会

龙芯的软件生态在蓬勃发展,除了本文搭建的node.js语言环境之外,所有主流的语言都已经能够支持,包括Java、PHP、Python、Ruby都是有成熟的解决方案,对我们程序开发人员是一个很大的福音。龙芯CPU基本可以在开放市场一较高低了。 笔者在不到一天的时间里不停的把玩龙芯3A2000电脑,非常稳定可靠,系统简洁,体验流畅,比Windows一点都不差,准备以后就做为我的主力办公用机了。支持国产,从我做起!


返回: 首页 | 文章

本页面最后修改于2016年7月28日 (星期四) 09:44。

© 2017 by 龙芯开源社区 • Powered by MediaWiki