linux -- ubuntu搭建nodejs环境
需求:在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,不然他就会安装到当前文件夹下
//-g代表安装到NODE_PATH的lib里面,而-d代表把相依性套件也一起安装。如果沒有-g的话会安装目前所在的目录(会建立一个node_modules的文件夹),你可以通过以下指令来比较两者的不同:
文件权限设置(注:是给非root帐号的.):
可以参看第三步的路径.
下面是俺装spm之前设置文件夹权限的方式:
#进入local目录
#给node文件夹可读可写的权限
[注:我是这样操作的,这里你自己如果懂这个.那应该很明白的.]
#查看历史,随便你想看就看呗,不看就跳过.
权限给好了就可以安装spm了,同样安装其他模块(比如express)也不会出问题了.
#回到根目录,可回可不回,随便cd
#开始安装,为啥要-gd前面有解释,不加-gd的话,可能会出一些问题,如果你可以解决问题,那么就不用担心。如果这里加-gd,那么前面的文件夹权限步骤肯定是要给的.不给权限会执行不了下面的命令.具体你自己试一试就知道了.
[注:如果本来账户就是root就跳过这些废话,嘿嘿!]
#然后一直等待
#完毕之后就是,查看版本要大写.(晕!)
输出版本这就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环境的更多相关文章
- linux(Ubuntu) 搭建LAMP环境
1.更新源 sudo apt- get update 2.安装常用软件 SSH.Vim.Git.Tree ①SSH sudo apt-get install openssh-server 管理命令:s ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Ruby学习心得之 Linux下搭建Ruby环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...
- linux 下搭建php环境
linux 下搭建php环境 1.下载apache (http://httpd.apache.org/download.cgi) 下载php组件 ( http://cn2.php.net/get/ph ...
- Linux(Ubuntu) OpenGL 开发环境
Linux(Ubuntu) OpenGL 开发环境 在 PC 平台上开发 OpenGL 可以使用的辅助工具有很多选择,这里我主要参考了 learnopengl 的配置,使用 GLFW 和 GLAD. ...
- Linux下搭建JSP环境
Linux下搭建JSP环境 作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linu ...
随机推荐
- php - 时间操作
ini_set('date.timezone','Asia/Shanghai'); http://www.w3school.com.cn/php/func_date_strtotime.asp str ...
- Generalized Linear Models
作者:桂. 时间:2017-05-22 15:28:43 链接:http://www.cnblogs.com/xingshansi/p/6890048.html 前言 主要记录python工具包:s ...
- PHP利用MySQL保存session(php5.4之前的处理)
简介 使用MySQL保存session,需要保存三个关键性的数据:session id.session数据.session生命期. 考虑到session的使用方式,没必要使用InnoDB引擎,MyIS ...
- cocos2d-x开发记录:一,搭建环境
首先我下载的cocos2D版本为2.1.2版本,我们安装好VS后,新建一个解决方案,这里很重要,假设我的cocos解压后的路径为E:\cocos2d-2.1rc0-x-2.1.2-hotfix\coc ...
- 《Android源代码设计模式解析与实战》读书笔记(二十)
第二十章.适配器模式 适配器模式是结构型设计模式之中的一个,它在我们的开发中使用率极高,比方ListView.GridView以及RecyclerView都须要使用Adapter. 1.定义 适配器模 ...
- Socket相关函数(1)- socket(), bind(), listen(), accept(), connect(), TCP模型
tcp_server.c #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #in ...
- org.apache.commons
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.我选了一些比较常用的项目做简单介绍. 一.Commons BeanUtils http://jakar ...
- iOS网络NSURLConnection使用详解
一.整体介绍 NSURLConnection是苹果提供的原生网络访问类,但是苹果很快会将其废弃,且由NSURLSession(iOS7以后)来替代.目前使用最广泛的第三方网络框架AFNetworkin ...
- 【WPF】ListBox使用DataTemplate 以及默认选中第一项Item
ListBox中DataTemplate的用法如下 . <ListBox x:Name="areaLB" ItemsSource="{Binding AreaNum ...
- 【Visual Studio】报错SignTool Error: No certificates were found that met all the given criteria.
问题:Virtual Studio如果证书或SignTool.exe签名工具出了问题,编译运行项目时会报这个错误. 解决:参考下面内容. http://stackoverflow.com/questi ...