zoukankan      html  css  js  c++  java
  • linux 中部署不同版本 node.js 并同时使用的方案

    2018年3月28日

    linux 中部署不同版本 node.js 并同时使用的方案


    1. 首先使用压缩二进制包解压到 /usr/local/node/ ,比如产生一个 /usr/local/node/node-v8.9.3-linux-x64
    2.安装多个不同的二级制包,产生 /usr/local/node/node-v4.5.3-linux-x64 /usr/local/node/node-v6.9.3-linux-x64 之类的不同的文件夹
    3.使用 ln -s /usr/local/node/node-v8.9.3-linux-x64/bin/node /usr/local/bin/node@8 这样的软链接命令将各种不同的版本用不同的标识区分开
    4.使用的时候,直接使用 node@8 server/app.js 这样启动,就可以使用指定版本的 node
    5. 也可以直接写在 package.json 中的 script 中, 比如
    "scripts": {
    "start": "cross-env NODE_ENV=production node@8 server/app.js"
    }
    上面的是比较简单的方式。但是有时候需要用 pm2 这样的进程管理器来启动,这时候就需要复杂一点的方法,需要使用 shell 文件启动。
    首先创建一个环境配置文件 config.cfg 内容如下
    PATH=/lsw/node/node-v8.0.0-linux-x64/bin:$PATH
    然后在创建一个执行文件 deploy.sh 内容如下
    CONFIG_FILE="./config.cfg"
    if [ ! -e $CONFIG_FILE ]
    then
    echo -e "$CONFIG_FILE not found."
    exit 44
    else
    . $CONFIG_FILE
    echo "loaded $CONFIG_FILE"
    fi
    pm2 start /from/to/server.js
    这样就可以在使用 pm2 前先通过之前设置的环境变量首先找到 node-v8.0.0-linux-x64/bin 中的 node 命令,用它作为 pm2 执行的 node 命令。
  • 相关阅读:
    C语言 · 最小公倍数
    SSH实战 · SSH项目开发环境搭建
    C语言 · 回文数
    C语言 · 特殊回文数
    C语言 · 查找整数
    SSH实战 · SSH项目中怎么玩验证码
    SSH实战 · JAVA发送邮件相关
    SSH实战 · AJAX异步校验
    C语言 · 打印1-200之间的素数
    Jenkins权限设计错误解决办法
  • 原文地址:https://www.cnblogs.com/lswit/p/8662533.html
Copyright © 2011-2022 走看看