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 ...
随机推荐
- 【JUnit4.10源码分析】5.2 Rule
标注@Rule TestRule是一个工厂方法模式中的Creator角色--声明工厂方法. package org.junit.rules; import org.junit.runner.Descr ...
- 【Android】16.5 Android内置的系统服务
分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 实际上,在Android.Content.Context类中,Android已经提供了多种类型的系统服务,这些服务 ...
- CCDictionary(转)
#ifndef __CCDICTIONARY_H__ #define __CCDICTIONARY_H__ //需要哈希表的支持 #include "support/data_support ...
- Ubantu 安装boost环境
boost版本为: boost_1_61_0ubuntu版本为:ubuntu-14.04 这里有两种安装方法: ==============第一种:也是最简单的:进入linux系统后,输入 # a ...
- Oracle PLSQL Demo - 10.For Loop遍历游标[FOR LOOP CURSOR]
declare cursor cur_emp is select t.* from scott.emp t; begin for r_emp in cur_emp loop dbms_output.p ...
- 检测SqlServer数据库是否能连接的小技巧
有时候可能需要检测下某台机器的服务是不是起来了,或者某台机器的某个库是不是能被连接又不能打开ssms也不想登陆服务器的话就可以用这个方法. 1.在桌面上右键创建个文本,然后改后缀名为udl以后保存(1 ...
- js怎么让时间函数的秒数在页面上显示是变化的
<input type="text" id="showtime" value="" /><script type=&quo ...
- ioss使用xcode常用快捷键
// command+r 运行 //command+.停止 // command+shift+y 弹出打印区 // command+z 回退 //command+shift+z 前进 // comma ...
- php memcached在windows上的使用
php的memcached是比memcache,效率更高的memcache缓存扩展. 然而windows下并没有这个扩展,于是做单元测试时要把代码上传到linux服务器,再运行,甚是麻烦. (当然另外 ...
- yum命令与使用
check Check for problems in the rpmdbcheck-update Check for available package updatesclea ...