• 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 命令。
  • 相关阅读:
    数据结构问题集锦
    大作业 开源项目列表
    数据结构问题集锦
    leetcode174
    leetcode152
    经典算法之KMP
    给出一个字符串,将其每一个字符表示成16进制表示,要求每个十六进制为8位数
    作业
    ASP 作业题
    ASP.NET 作业题
  • 原文地址:https://www.cnblogs.com/lswit/p/8662533.html
Copyright © 2020-2023  润新知