需求:在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. java web中jsp常用标签

    在jsp页面开发过程中,经常需要使用JSTL(Java Server Pages Standard Tag Library)标签开开发页面,是看起来更加的规整舒服. JSTL主要提供了5大类标签库: ...

  2. Java的spi介绍和简单应用

    1.什么是java的spi SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制. 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一 ...

  3. UVA 1264 - Binary Search Tree(BST+计数)

    UVA 1264 - Binary Search Tree 题目链接 题意:给定一个序列,插入二叉排序树,问有多少中序列插入后和这个树是同样的(包含原序列) 思路:先建树,然后dfs一遍,对于一个子树 ...

  4. An example of using Pandas for regression

    An example of using Pandas for regression 这个例子来自这本书 - "Python for Data Analysis", 这本书的作者 W ...

  5. PHP二维数组如何根据某个字段排序

    分享下PHP二维数组如何根据某个字段排序的方法. 从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 本文记录的要实现的功能类似于 ...

  6. PYNQ = Python + ZYNQ —— ZYNQ部分功能的Python化

    PYNQ优点:1.    Python用于ZYNQ开发,Python库和FPGA硬件库可以直接调用,极大加快开发进程.缩短开发周期.降低开发难度,更方便.快捷:2.    用PYNQ开发,当Pytho ...

  7. BestCoder Round #4 Miaomiao's Geometry (暴力)

    Problem Description There are N point on X-axis . Miaomiao would like to cover them ALL by using seg ...

  8. tornado用户验证

    1.重写get_current_user()方法 class BaseHandler(tornado.web.RequestHandler): def get_current_user(self): ...

  9. 一:cocos2dx 3.2 尚不支持cubeMap?二:光照需要shader实现

    一: cocos2dx 3.2 尚不支持cubeMap? 因为需要调用cocos2dx 封装的bindTexture的方法,发现只能绑定2DTexture,对Cube_Map无能无力.顿感累觉不爱…… ...

  10. Linux shell 执行修改配置文件中的内容

    在开发的过程中可能Linux环境不一致需要适应本地环境的HOME目录,可以通过脚本来修改配置文件内容,写一个test.sh的脚本 在脚本里写入以下命令 sed -i “s#ftfts_com_serv ...