需求:在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. react 事件绑定的2种常用方式

    方式一:传统 import React, { Component } from 'react'; class App extends Component { handleSubmit (e, args ...

  2. 请教中文的OCR软件哪个最好?

    对原件,有这几种:1,全中文(含标点,一些英文符号)2,中英文(英文较多,或英文占大多数)3,全英文(这个用finereader8.0) 針對1.2 紫光 超星阅读器自带的OCR组件 尚书七号搞定全中 ...

  3. 分享六:php脚本守护进程

    http://www.baidufe.com/item/9565cec0004cb49d25fd.html

  4. Jenkins 使用学习笔记

    3.1    Jenkins安装    2 3.1.1    Jenkins下载    2 3.1.2    Jenkins 安装    2 3.1.3    Jenkins 目录结构    3 3. ...

  5. OpenGl学习 SelectObject函数

    SelectObject 函数功能:该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象.   函数原型:HGDIOBJ SelectObject(HDC hdc, HGDIOB ...

  6. Mac 下的矢量图设计工具

    Mac 下的矢量图设计工具 一图胜千言.一张清晰的示意图无论对于系统设计,流程梳理,还是其他的方方面面,都非常重要. 曾经亲见一位老同事把 FreeHand 这个矢量绘图工具用得出神入化,并且非常成功 ...

  7. XMLHttpRequest使用详解

    1.什么是XMLHttpRequest XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信,这就是我们熟悉的AJAX.早期,各个浏览器的实现都不同,HTM ...

  8. hive 启动 Specified key was too long; max key length is 767 bytes解决办法

    解决方案: 在mysql机器的上命令行中运行: alter database hivemanual character set latin1; 问题解决.

  9. Java类型Float&&Double

    package study; public class testFloatDouble { public static void main(String[] args) { float f = 0; ...

  10. 原声js实现addClass removeClass toggleClass效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...