• 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的安装介绍完毕

  • 相关阅读:
    centos7 快速搭建自测mysql环境 docker + mysql
    在这个夏季,Synthetix 异常强劲的背后是什么?
    vue 打印区域内容 vue-print-nb
    身份证实名认证接口的三种方式、C#实名认证接口
    代码重构:面向单元测试
    获得文本语料和词汇资源(基于nltk)
    C风格数组和std::array有什么区别
    MVC架构模式实现银行转账
    【毕业设计】基于java+swing+GUI的雷电游戏GUI设计与实现(毕业论文+程序源码)——雷电游戏
    内网渗透-Windows内网渗透
  • 原文地址:https://blog.csdn.net/m0_62089210/article/details/127457074