美文网首页区块链入门
Centos7安装nvm、node、pm2

Centos7安装nvm、node、pm2

作者: simuty | 来源:发表于2017-05-11 09:46 被阅读2656次

    nvm、npm、pm2什么关系?

    1. nvm: 可以切换、控制运行的nodejs版本;
    2. npm: 附属于nodejs的【有nodejs就可以用npm了】
    ,功能为集成、使用模块【自己或他人的】;
    3. pm2: 部署、高大上的部署,加之keymetrics综合使用
    

    一步步安装配置

    node作为版本帝,不得不找个合适管理工具, 看了这个例子,就很难不选择nvm了。。。。

    Example:
      nvm install v0.10.32                  Install a specific version number
      nvm use 0.10                          Use the latest available 0.10.x release
      nvm run 0.10.32 app.js                Run app.js using node v0.10.32
      nvm exec 0.10.32 node app.js          Run `node app.js` with the PATH pointing to node v0.10.32
      nvm alias default 0.10.32             Set default node version on a shell
    
    Note:
      to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)
    
    

    1 .1配置nvm

    centos7安装配置nvm

    首先确保安装git
    如未按照git, 以centos7为例,【已安装的请跳过】

    # sudo apt-get install git
    
    #首先确保centos已安装git,以确保之后nvm本身的升级
    curl https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
    
    

    *重启终端

    nvm --version
    v0.30.2
    nvm help 
    
    

    升级nvm,前往~/.nvm,从git服务器拉去最新的版本,

    [root@localhost .nvm]# nvm --version
    0.30.2
    [root@localhost .nvm]# git fetch -p
    [root@localhost .nvm]# git rev-list --tags --max-count=1
    0a95e77000515c1156be593642dd4e452f2f098e
    [root@localhost .nvm]# git describe --tags 0a95e77000515c1156be593642dd4e452f2f098e
    v0.33.2
    [root@localhost .nvm]# git describe --abbrev=0 --tags
    v0.33.2
    [root@localhost .nvm]# git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
    之前的 HEAD 位置是 7f3145b... [New] add support for `$NVM_DIR/default-packages` file
    HEAD 目前位于 0a95e77... v0.33.2
    [root@localhost .nvm]# source ~/.nvm/nvm.sh
    [root@localhost .nvm]# nvm --version
    0.33.2
    
    

    罗列下载相应版本的node

    #不加node,无法罗列版本。。。。
    nvm ls-remote node 
    
    ......
             v6.9.5   (LTS: Boron)
    ->      v6.10.0   (LTS: Boron)
            v6.10.1   (LTS: Boron)
            v6.10.2   (LTS: Boron)
            v6.10.3   (Latest LTS: Boron)
       .....
       .....
            v7.10.0
    
    nvm install v6.10.0
    
    

    更多命令可以参考·nvm help·

    1.2 PM2 配置使用github

    该部分内容转载自PM2 介绍;

    pm2 是一个带有负载均衡功能的Node应用的进程管理器.
    当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。它非常适合IaaS结构,但不要把它用于PaaS方案(随后将开发Paas的解决方案).

    备注:SaaS、PaaS和IaaS是云服务模式。

    1. SaaS 软件即服务,例如Google的 Gmail 邮箱服务.面向应用型用户.
    2. PaaS 平台即服务.例如Google的GAE,面向开发型用户
    3. IaaS  基础架构即服务,例如亚马逊的AWS,IaaS对于不知道新推出的应用程序/网站会有多成功的创业公司来说非常有用
    

    请参考 云服务模式:SaaS、PaaS和IaaS,哪一种适合你?

    1.3 配置高大上的部署工具

    由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。

    $ npm install pm2 -g
    
    

    1.4 用法

    $ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js 
                                    # 也可以把'max' 参数传递给 start
                                    # 正确的进程数目依赖于Cpu的核心数目
    $ pm2 start app.js --name my-api # 命名进程
    $ pm2 list               # 显示所有进程状态
    $ pm2 monit              # 监视所有进程
    $ pm2 logs               #  显示所有进程日志
    $ pm2 stop all           # 停止所有进程
    $ pm2 restart all        # 重启所有进程
    $ pm2 reload all         # 0秒停机重载进程 (用于 NETWORKED 进程)
    $ pm2 stop 0             # 停止指定的进程
    $ pm2 restart 0          # 重启指定的进程
    $ pm2 startup            # 产生 init 脚本 保持进程活着
    $ pm2 web                # 运行健壮的 computer API endpoint (http://localhost:9615)
    $ pm2 delete 0           # 杀死指定的进程
    $ pm2 delete all         # 杀死全部进程
    
    运行进程的不同方式:
    
    
    $ pm2 start app.js -i max  # 根据有效CPU数目启动最大进程数目
    $ pm2 start app.js -i 3      # 启动3个进程
    $ pm2 start app.js -x        #用fork模式启动 app.js 而不是使用 cluster
    $ pm2 start app.js -x -- -a 23   # 用fork模式启动 app.js 并且传递参数 (-a 23)
    $ pm2 start app.js --name serverone  # 启动一个进程并把它命名为 serverone
    $ pm2 stop serverone       # 停止 serverone 进程
    $ pm2 start app.json        # 启动进程, 在 app.json里设置选项
    $ pm2 start app.js -i max -- -a 23                   #在--之后给 app.js 传递参数
    $ pm2 start app.js -i max -e err.log -o out.log  # 启动 并 生成一个配置文件
    你也可以执行用其他语言编写的app  ( fork 模式):
    $ pm2 start my-bash-script.sh    -x --interpreter bash
    $ pm2 start my-python-script.py -x --interpreter python
    
    

    工具是奔着更高效、便捷的一路走下去的,所以使用本身是很简单的

    bgPDwbF.png

    参考:

    CentOS 安装nodejs
    Linux查看系统信息的一些命令及查看已安装软件包的命令
    PM2 介绍
    nodejs高大上的部署方式-PM2
    rsync命令
    centos7 install nvm
    centos7 install nvm
    github---nvm update

    相关文章

      网友评论

        本文标题:Centos7安装nvm、node、pm2

        本文链接:https://www.haomeiwen.com/subject/gyantxtx.html