en

龙芯3a2000运行node.js的初体验——龙芯平台上搭建node.js环境指南-网上捕鱼网络版

loongson news

栏目导航

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

发布时间:2016-06-14    已阅读:次

一、初识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/?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("");
  res.end("

hello loongson 3a2000!

");
}).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一点都不差,准备以后就做为我的主力办公用机了。支持国产,从我做起!