需求:在web端做一个实时性功能比较强的模块,

  客户端:用websocket

  服务端:node.js

node.js介绍:node.js天生就是一个高效的服务端语言,可以直接使用 javascript直接来处理来自客户端的请求,这样如果服务端这边需要大量的业务逻辑开发,则可以直接使用node开发。通过node和 websocket的结合可以开发出很多实时性要求很高的web应用,如游戏、直播、股票、监控、IM等等。

于是,问题来了,如何在服务器上搭建nodejs环境?网上找了些资料,基本上都一个版本,原版写自四年前或者更久...互联网发展这么快,四年之前的东西,还能用吗?就算能用,经过四年的发展,出了许多新版本,毫无疑问,有可能的话,肯定是选择新版本(是新功能或者更多的支持)。试了下,果断问题一大堆。最后找了一个百度文库的资料,还算新的吧,测试过,能用

源码安装

下面是搭建过程:

1.可以到nodejs的官网下载源码包(source code):nodejs.org

2.下载回来后,解压缩,ubuntu系统ctrl + alt +T 打开终端

假如我的tar.gz压缩包在”下载”目录下,则在终端输入一下命令:

  输入  "$ cd 下载  (回车)"  进入“下载”目录

  输入 "$ tar zxvf node-v0.12.7.tar.gz" 进行解压

3.安装nodejs

3.1默认路径安装:/usr/local/bin

解压完成后会在当前目录生成一个node-v0.12.7的文件夹

  3.1.1 输入命令:$ cd node-v0.12.7 进入node-v0.12.7目录。node-v0.12.7目录底下会有个configure的文件,我们只要make它,然后就可以安装了。

  3.1.2 输入命令:$ ./configure

  3.1.3 输入 $ make (这里要make一段时间),

  3.1.4 输入 $ sudo make install (有的朋友在输入$ ./configure的时候会提示找不到目录,这时候你就要确认一下你的tar.gz压缩包是否源码包)

  3.1.5 最后输出node的版本号检验是否成功:

看到上图的画面就证明node安装成功。不用担心环境变量的问题,因为以上安装方法是把node和npm的执行文件默认在/usr/lcoal/bin目录下,而ubuntu的环境变量是默认配置了/usr/local/bin这个目录。如果真的不相信,你可以输入命令$ sudo gedit /etc/environment 查看path变量里面的值有没有包含/usr/local/bin。

3.2 指定路径安装 /opt/node

解压完成后会在当前目录生成一个node-v0.12.7的文件夹

  3.2.1 输入命令:$ cd node-v0.12.7 进入node-v0.12.7目录。node-v0.12.7目录底下会有个configure的文件,我们只要make它,然后就可以安装了。

  3.2.2 输入命令:$ ./configure  --prefix=/opt/node

  3.2.3 输入 $ make (这里要make一段时间),

  3.2.4 输入 $ sudo make install (有的朋友在输入$ ./configure的时候会提示找不到目录,这时候你就要确认一下你的tar.gz压缩包是否源码包)

  3.2.5 设置环境变量:

    方法一  export PATH=$PATH:/opt/node/bin    //每次开终端都要运行下上面命令

     方法二   将node的路径加入的环境变量中,以便打开shell之后直接调用node命令。对于Ubuntu来说,比较常见的做法就是编辑当前用户的配置文件.bashrc文件,将如下脚本加入文件的末尾:PATH="/opt/node/bin:$PATH"     //永久生效,不必每次打开终端都设置环境变量

  3.2.6 最后输出node的版本号检验是否成功:

其他:

其他:
例如:安装express
#记得一定要加-gd,不然他就会安装到当前文件夹下

   npm install express -gd

//-g代表安装到NODE_PATH的lib里面,而-d代表把相依性套件也一起安装。如果沒有-g的话会安装目前所在的目录(会建立一个node_modules的文件夹),你可以通过以下指令来比较两者的不同:

npm list -g
npm list

文件权限设置(注:是给非root帐号的.):

可以参看第三步的路径.
下面是俺装spm之前设置文件夹权限的方式:
#进入local目录

cd /usr/local

#给node文件夹可读可写的权限

 sudo chmod -R 777 node/

[注:我是这样操作的,这里你自己如果懂这个.那应该很明白的.]

#查看历史,随便你想看就看呗,不看就跳过.

history
history | grep chmod

权限给好了就可以安装spm了,同样安装其他模块(比如express)也不会出问题了.

#回到根目录,可回可不回,随便cd

#开始安装,为啥要-gd前面有解释,不加-gd的话,可能会出一些问题,如果你可以解决问题,那么就不用担心。如果这里加-gd,那么前面的文件夹权限步骤肯定是要给的.不给权限会执行不了下面的命令.具体你自己试一试就知道了.
[注:如果本来账户就是root就跳过这些废话,嘿嘿!]

 npm install spm -gd

#然后一直等待
#完毕之后就是,查看版本要大写.(晕!)

 spm -V

输出版本这就OK了.

最新版的已经自带了npm了,所以不用安装了,要装的只是spm.

部分摘录自:http://www.xiaobai8.com/Blog/763.html

Ubuntu自带软件包安装

以下以Ubuntu14.04版本做演示

Ubuntu 14.04为了保证跨平台服务体验的一致性,在它的仓库中默认包含了一个版本为0.10.25的Node.JS,这个可能不是最新版本,但是却一定是标准发行版本。

要想获取这个版本的Node.JS,我们只要通过apt包管理工具来安装就可以。在安装之前,最好先更新一下apt包管理工具的本地索引,然后再从Ubuntu仓库中安装Node.JS

sudo apt-get update

sudo apt-get install nodejs

如果Ubuntu软件仓库中的包正好是你所需要的,那么上述步骤就是在Ubuntu10.04下安装Node.JS的全部操作过程。大多数情况下,我们还希望也安装一份Node.JS的包管理工具:npm,您可以通过以下命令安装:

sudo apt-get install npm

NPM将让使得安装Node.JS的模块或者源码包变得非常简单。

在您运行Node.JS的时候请一定要注意,因为与别的工具包相冲突的原因,Ubuntu仓库中可执行的名字是nodejs而不是node。

linux -- ubuntu搭建nodejs环境的更多相关文章

  1. linux(Ubuntu) 搭建LAMP环境

    1.更新源 sudo apt- get update 2.安装常用软件 SSH.Vim.Git.Tree ①SSH sudo apt-get install openssh-server 管理命令:s ...

  2. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  3. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  4. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  5. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  6. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  7. linux 下搭建php环境

    linux 下搭建php环境 1.下载apache (http://httpd.apache.org/download.cgi) 下载php组件 ( http://cn2.php.net/get/ph ...

  8. Linux(Ubuntu) OpenGL 开发环境

    Linux(Ubuntu) OpenGL 开发环境 在 PC 平台上开发 OpenGL 可以使用的辅助工具有很多选择,这里我主要参考了 learnopengl 的配置,使用 GLFW 和 GLAD. ...

  9. Linux下搭建JSP环境

    Linux下搭建JSP环境     作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linu ...

随机推荐

  1. php - 时间操作

    ini_set('date.timezone','Asia/Shanghai'); http://www.w3school.com.cn/php/func_date_strtotime.asp str ...

  2. Generalized Linear Models

    作者:桂. 时间:2017-05-22  15:28:43 链接:http://www.cnblogs.com/xingshansi/p/6890048.html 前言 主要记录python工具包:s ...

  3. PHP利用MySQL保存session(php5.4之前的处理)

    简介 使用MySQL保存session,需要保存三个关键性的数据:session id.session数据.session生命期. 考虑到session的使用方式,没必要使用InnoDB引擎,MyIS ...

  4. cocos2d-x开发记录:一,搭建环境

    首先我下载的cocos2D版本为2.1.2版本,我们安装好VS后,新建一个解决方案,这里很重要,假设我的cocos解压后的路径为E:\cocos2d-2.1rc0-x-2.1.2-hotfix\coc ...

  5. 《Android源代码设计模式解析与实战》读书笔记(二十)

    第二十章.适配器模式 适配器模式是结构型设计模式之中的一个,它在我们的开发中使用率极高,比方ListView.GridView以及RecyclerView都须要使用Adapter. 1.定义 适配器模 ...

  6. Socket相关函数(1)- socket(), bind(), listen(), accept(), connect(), TCP模型

    tcp_server.c #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #in ...

  7. org.apache.commons

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.我选了一些比较常用的项目做简单介绍. 一.Commons BeanUtils http://jakar ...

  8. iOS网络NSURLConnection使用详解

    一.整体介绍 NSURLConnection是苹果提供的原生网络访问类,但是苹果很快会将其废弃,且由NSURLSession(iOS7以后)来替代.目前使用最广泛的第三方网络框架AFNetworkin ...

  9. 【WPF】ListBox使用DataTemplate 以及默认选中第一项Item

    ListBox中DataTemplate的用法如下 . <ListBox x:Name="areaLB" ItemsSource="{Binding AreaNum ...

  10. 【Visual Studio】报错SignTool Error: No certificates were found that met all the given criteria.

    问题:Virtual Studio如果证书或SignTool.exe签名工具出了问题,编译运行项目时会报这个错误. 解决:参考下面内容. http://stackoverflow.com/questi ...