龙芯3A2000运行node.js的初体验——龙芯平台上搭建node.js环境指南

原文链接:http://www.loongson.cn/news/company/449.html

一、初识node.js
Node.js是一种面向后台Web服务器的脚本语言,其语法是Javascript。最早的Javascript是起源于Web浏览器前端,是用于加强 HTML页面的交互能力而设计的。但是,程序员们发现这种语言非常安全、灵活、高效,因此把它迁移到了后台服务器上,就是node.js,用于方便地搭建 响应速度快、易于扩展的网络应用,从2009年出现开始,到现在已经有非常高的普及率。
对于这样一个使用广泛的语言,龙芯平台能不能方便的支持呢?今天我们就从头开始搭建node.js的环境,试验一下龙芯电脑好不好用。
一、龙芯3A2000桌面电脑
我们使用的机器是一台龙芯3A2000桌面电脑。龙芯3A2000是2015年8月发布的最新4核CPU,目前已经批量供货,性能与Intel i3看齐,足够日常办公使用,预装了浏览器、Office、文件管理、影音播放等常用的软件,开箱即用。

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

Loongnix的下载地址在这里:http://www.loongnix.org/?page_id=35873 。目前最新版本是Fedora21-MATE(20160503-Release)。下载镜像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小程序_.png

龙芯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)

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

0 个评论

要回复文章请先登录注册