nodejs在linux下的源代码方式安装

本文是编译源码安装。

从v0.9.1版本开始,node提供编译好的的安装包 ,可以直接下载后使用 ,不用源码编译的方式安装,本文可用于采用源码安装的参考。

具体地址可访问http://nodejs.org/dist/

1.确保安装了GUN make

    [root@localhost node-v0.9.0]# rpm -qa|grep make

    makebootfat-1.4-10.el6.x86_64


    #显示没有安装。

 安装后:

 [root@localhost node-v0.9.0]# yum -y install make

 ......

        ......

 [root@localhost node-v0.9.0]# rpm -qa|grep make

 makebootfat-1.4-10.el6.x86_64

 make-3.81-19.el6.x86_64

    

2.确保安装了gcc,gcc-c++,ncurses-devel,openssl-devel

  1)gcc安装:

    安装前:

    [root@localhost ~]# gcc -v

    -bash: gcc: command not found

    [root@localhost node-v0.9.0]# rpm -qa|grep gcc

 libgcc-4.4.6-3.el6.x86_64


安装后:

    [root@localhost node-v0.9.0]# yum -y install gcc

    ......

    ......

    [root@localhost node-v0.9.0]# rpm -qa|grep gcc

    libgcc-4.4.6-3.el6.x86_64

    gcc-4.4.6-3.el6.x86_64

    [root@localhost node-v0.9.0]# gcc -v

 使用内建 specs。

 目标:x86_64-redhat-linux

 配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux

 线程模型:posix

 gcc 版本 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)

  2)gcc-c++安装:

安装前:

    [root@localhost node-v0.9.0]# rpm -qa|grep gcc-c++

   

安装后:

    [root@localhost node-v0.9.0]# yum -y install gcc-c++

    ......

    ......

    [root@localhost node-v0.9.0]# rpm -qa|grep gcc-c++

    gcc-c++-4.4.6-3.el6.x86_64

 

  3)安装openssl-devel

    openssl-devel:

    用于ssl(这个就是在网络层的一个加密连接)的一些操作,比如ssl的证书验证之类的

安装前:

    [root@localhost node-v0.9.0]# rpm -qa|grep openssl-devel


安装后:

    [root@localhost node-v0.9.0]# yum -y install openssl-devel

    ......

    ......

    [root@localhost node-v0.9.0]# rpm -qa|grep openssl-devel

    openssl-devel-1.0.0-20.el6_2.5.x86_64


  4)确保安装了python,版本在2.5以上,不支持python3 

 [root@localhost node-v0.9.0]# python

 Python 2.6.6 (r266:84292, Dec  7 2011, 20:48:22)

 [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2

 Type "help", "copyright", "credits" or "license" for more information.

 >>> 

 

3.安装node

  1).下载nodejs到本地并解压缩

  [root@localhost node]# wget http://nodejs.org/dist/v0.9.0/node-v0.9.0.tar.gz

  [root@localhost node]# tar zxvf node-v0.9.0.tar.gz


  2).进入到该目录编译和安装

  [root@localhost node-v0.9.0]# cd node-v0.9.0

  [root@localhost node-v0.9.0]# ./configure --prefix=/usr/local/node/0.9.0

  这里安装在了/usr/local/node/0.9.0目录下

  [root@localhost node-v0.9.0]# make

  [root@localhost node-v0.9.0]# make install

  

  3).配置NODE_HOME

  [root@localhost node-v0.9.0]# vi /etc/profile

  在export PATH USER 。。。一行的上面添加如下内容,并将NODE_HOME/bin设置到系统path中

  #set for nodejs

  export NODE_HOME=/usr/local/node/0.9.0

  export PATH=$NODE_HOME/bin:$PATH

  

  保存退出后执行如下命令,使刚才的配置生效

  [root@localhost node-v0.9.0]# source /etc/profile

  

  执行node -help命令验证设置成功

  [root@localhost node-v0.9.0]# node -help

  Usage:

    shell [options] -e string

    execute string in V8

   ......

   ......

   

  至此安装设置完毕。

  

4.运行一个简单的node应用程序

  [lify@localhost studyfile]$ vi app.js

  输入如下内容

  var http = require('http');

  http.createServer(function (req, res) {

    res.writeHead(200, {'Content-Type': 'text/plain'});

    res.end('Hello, World!\n');

  }).listen(8080, '127.0.0.1');

  console.log('Server running at http://127.0.0.1:8080');

  

  执行如下命令

  [lify@localhost studyfile]$ node app.js

  Server running at http://127.0.0.1:8080

  

  在浏览器中输入http://127.0.0.1:8080/,会有下面的输出:

  Hello, World!

  

5.Node服务在后台运行

  有多重方式可以实现该功能,这里以forever为例进行介绍

  1)安装forever

  [root@localhost bin]# npm install -g forever

  

  2)创建启动脚本

  [root@localhost bin]# vi /etc/init.d/node

  

  编辑node文件,下面以开机自动启动上面演示的app.js为例,输入如下内容 

  #! /bin/sh -e

  set -e

  PATH=/usr/local/node/0.9.0/bin:/bin:/usr/bin:/sbin:/usr/sbin

  DAEMON=/home/lify/program/node/studyfile/app.js

  case "$1" in

  start) forever start $DAEMON ;;

  stop) forever stop $DAEMON ;;

  force-reload|restart)

  forever restart $DAEMON ;;

  *) echo "Usage: /etc/init.d/node {start|stop|restart|force-reload}"

  exit 1

  ;;

  esac

  exit 0

  

  3)增加对该文件的执行权限

  [root@localhost bin]# chmod u+x /etc/init.d/node

  

  4)启动服务

  [root@localhost bin]# service node start

  info:    Forever processing file: /home/lify/program/node/studyfile/app.js

  

  用forever查看运行状态

  [root@localhost bin]# forever list

  info:    Forever processes running

  data:        uid  command                        script                                   forever pid   logfile                 uptime

  data:    [0] gOgC /usr/local/node/0.9.0/bin/node /home/lify/program/node/studyfile/app.js 21035   21037 /root/.forever/gOgC.log 0:0:0:18.71 

  通过进程查看node运行状态

  [root@localhost bin]# ps ax | grep node

  21035 ?        Ssl    0:00 /usr/local/node/0.9.0/bin/node /usr/local/node/0.9.0/lib/node_modules/forever/bin/monitor /home/lify/program/node/studyfile/app.js

  21037 ?        Sl     0:00 /usr/local/node/0.9.0/bin/node /home/lify/program/node/studyfile/app.js

  21053 pts/0    S+     0:00 grep node

  

  停止node服务

  [root@localhost bin]# service node stop

  

  用forever查看运行状态

  [root@localhost bin]# forever list

  info:    No forever processes running

  通过进程查看node运行状态

  [root@localhost bin]# ps ax | grep node

  21072 pts/0    S+     0:00 grep node


  node的安装介绍完毕



  


  



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值