如何在Ubuntu14.04服务器上安装NodeJS
一、NodeJS介绍:
NodeJS是一个让开发者可以快速创建网络应用的服务器端JavaScript平台,同时运用JavaScript进行前端与后端编程,开发者可以更专注于系统的设计以及保持其一致性。
在这篇文章中,我们将向您介绍如何在Ubuntu1404服务器上开始您的NodeJS神奇之旅。
二、如何安装发行稳定版的NodeJS
Ubuntu 1404为了保证跨平台服务体验的一致性,在它的仓库中默认包含了一个版本为01025的NodeJS,这个可能不是最新版本,但是却一定是标准发行版本。
要想获取这个版本的NodeJS,我们只要通过apt包管理工具来安装就可以。在安装之前,最好先更新一下apt包管理工具的本地索引,然后再从Ubuntu仓库中安装NodeJS。
sudo apt-get update
sudo apt-get install nodejs
如果Ubuntu软件仓库中的包正好是你所需要的,那么上述步骤就是在Ubuntu1004下安装NodeJS的全部操作过程。大多数情况下,我们还希望也安装一份NodeJS的包管理工具:npm,您可以通过以下命令安装:
sudo apt-get install npm
NPM将让使得安装NodeJS的模块或者源码包变得非常简单。
在您运行NodeJS的时候请一定要注意,因为与别的工具包相冲突的原因,Ubuntu仓库中可执行的名字是nodejs而不是node。
下面,我们将讨论NodeJS更多种灵活的安装方式。
三、如何通过PPA来安装NodeJS?
一个让你可以保持获得NodeJS最新版本的替代方案是加入由NodeSource维护的PPA(Personal Package Archive)私有包档案。这个方式可以让你获得比Ubuntu仓库更多的NodeJS版本。
首先:你得安装PPA以获得访问它内容的权限。
curl -sL https://debnodesourcecom/setup | sudo bash -
通过上面的命令,PPA将加入到您的系统配置中,并且自动的更新您的本地包缓存,安装完成之后,您可以像之前一样通过apt-get来安装NodeJS。
solo apt-get install nodejs
这里的nodejs安装包包含了nodejs二进制执行文件以及npm可执行文件,所以您无须另外安装npm,然而,为了使一些NPM包能正常工作(比如那些需要多源代码编译的包),你还需要安装build-essentials包。
sudo apt-get install build-essential
四、如何使用NVM来安装?
还有一种使用apt来安装NodeJS的替代方案是使用一个特别设计的工具叫NVM,它的标准叫法是NodeJS版本管理工具(Nodejs Version manager)。
使用NVM,您可以安装多个可方便控制的独立NodeJS环境,它将给您最新版本NodeJS的请求权限,但也将允许你根据APP的需要而使用旧版本的NodeJS。
在开始之前,我们需要从Ubuntu仓库中先安装一些依赖包,NVM将利用这些工具来编译需要的组件:
sudo apt-get update
sudo apt-get install build-essential libssl-dev
一旦这些依赖包安装完成,您可以通过NVM的GitHub项目主页将安装脚本下载下来。版本号可能不尽相同,但是正常来说你可以通过以下方式来下载和安装:
curl https://rawgithubusercontentcom/creationix/nvm/v0161/installsh | sh
上面的命令将下载并且运行安装脚本,安装脚本将把软件安装到你home目录的~/nvm目录下,同时也会在~/profile加入必要的配置。
为了使~/profile的配置生效,您可能需要退出并重新登录您的账户,当然,也可以通过source命令来重新导入~/profile的配置:
source ~/profile
现在你已经安装了NVM,你可以安装NodeJS的各个独立版本。为了找出当前的NodeJS可安装版本,你可以敲入以下命令:
nvm ls-remote
回车可能会显示如下内容:
v0116
v0117
v0118
v0119
v01110
v01111
v01112
v01113
如你所见,当前NodeJS的最新可安装版本是v01113,你可以通过如下命令安装这个版本的程序:
nvm install 01113
通常情况下,NVM会自动切换到最新安装的版本,你可以通过以下命令告诉NVM指定使用已经安装的版本:
nvm use 01113
当你使用NVM安装NodeJS,它的可执行名称是node,通过以下信不信你可以知道当前所使用的NodeJS版本:
node -v
显示:
v01113
如果你安装了多个版本的NodeJS,你可以通过以下命令列出已安装版本:
nvm ls
如果你想把其中一个版本设置为默认的版本,你可以这样:
nvm alias default 01113
现在当一个请求发生时,01113这个版本将自动被选择,您也可以通过这样的别名引用它:
nvm use default
每个版本都将保持其独立的模块和包,并且通过独立的NPM来管理它们,你可以使用NPM的普通模式来为NodeJS项目安装独立的第三方包,它将安装到NodeJS的/node_modules目录下:
npm install express
如果你想将第三方包安装成全局模式(将与其它使用同一个版本NodeJS的项目共用),那么通过使用-g参数就可以实现:
npm install -g express
这个时候包将安装到下面这个目录:
~/nvm/node_version/lib/node_modules/package_name
全局模式安装的包将只允许你在命令行下使用,如果你想在在本地项目中使用,你还需要将它连接进来:
npm link express
如果需要帮助,你可以通过以入命令获取帮助:
npm help
好几种方案,用nginx、apache做前级分发,node服务启动在不同的端口(tcp端口orUnixsocket),很方便,nginx占80端口即可,可以方便接入各种不同的web服务(php、java)node内建服务来实现分发,原理和上面类似,只不过前级有node来占80端口。http请求产生的request对象会带有host信息,根据自己的需求,对host做一个路由,就可以实现不同的虚拟机了。
nodejs其实是非常底层的,从功能上说,它既是apache也是php。像搭建http服务器这种功能,本来是apache已经封装好的,但nodejs需要我们手动来搭建。其实在实际应用中,我们可以使用现成的框架。但这里,我想手动搭建,也加深一下对http服务器的理解。
我们node执行下面这个文件,我命名为httpjs,它将创建一个httpServer并监听3000端口。
1安装nodejs服务(从官网下载安装),node相当于apache服务器
2在自己定义的目录下新建服务器文件如 serverjs
例如,我在E:\PhpProject\html5\websocket下创建了serverjs文件
var http = require('http');//引入http模块
//开启服务,监听8888端口
//端口号最好为6000以上
var server = httpcreateServer(function(req,res){
consolelog('有客户端连接');//创建连接成功显示在后台
0条评论