说道 node不得不提到nodejs的版本管理nvm和Node应用的进程管理器pm2。

当然,关于这两个的介绍的文章那么多,随意baidu,bing,google就可以。

我这里是给自己打一个标签,方便日后 查询,

二是方便一些和我一样的小白,能速度简单安装并使用 nvm + pm2.

正常的安装顺序,应该是 nvm, nodejs , pm2。

我的安装环境是 微软云主机, ubuntu 16.04 版本

nvm

1. 安装

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash   (注意v0.33.1,查阅官方实际的版本)

2.检查版本

command -v nvm

我在这里执行命令的时候,报 command不是XX命令。查阅到 issue 576,

执行 touch "$HOME/.bashrc",后再次执行 command -v nvm 通过。

然后就是 nvm常用的命令了:

nvm 罗列nvm所有命令

nvm ls 罗列nodejs版本

nvm ls-remote 罗列远程(官方)可以安装的版本列表

nvm install --vsersion 安装特定版本

nvm install stable 安装当前最新文档版本

nvm use 切换版本

nvm current 查看当前版本

我安装的是 node 7.8.0版本,

nvm install 7.8.0

pm2

1. 安装

 npm install pm2 -g
2. 执行 ln命令
我安装完毕后, 执行pm2依旧报错,查阅后,有人推荐使用ln建立链接,执行类似如下命令,ok
 ln -s /home/node-v7.7.4-linux-x64//lib/node_modules/pm2/bin/pm2  /usr/local/bin/pm2
 

执行 pm2 -v,显示版本号

常用命令:

pm2 list 罗列pm2托管的node应用

pm2 start 启用node应用

pm2 monit 显示监控信息

pm2 show [app-name] 显示应用信息

pm2 logs 显示日志

pm2 stop all 停止所有应用

pm2 stop [app-name] 停止单个应用

pm2 restart [app-name] 重启

单独提一下start多个引用:

pm2 start app.json

app.json 内容

[{

"name":"music",

"cwd":[cwd-path]

"script":"server/app.js",

"error_file":"music_err.log",

"out_file":"music_out.log",

"pid_file":"music_app.pid",

"one_launch_only":"false",

"env":{

  "NODE_ENV":"production"

},.......

}]

引用:

nvm

nvm issue 576

PM2 - Advanced Node.js process manager

pm2 github

pm2 ADVANCED_README

PM2入门指南

使用nvm利器,管理Node版本

nodejs 之 nvm和pm2的更多相关文章

  1. nodeJS进程管理器pm2

    pm2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. PM2是开源的基于Nodejs的进程管 ...

  2. 【NodeJS】nvm

    [NodeJS]nvm node多版本管理 NVM_HOME=C:\env\nvm NVM_SYMLINK=C:\env\nodejs 查看版本 nvm v 查看当前使用的node版本 nvm cur ...

  3. Linux_CentOS下搭建Nodejs 生产环境-以及nodejs进程管理器pm2的使用

    nodejs安装:https://www.cnblogs.com/loaderman/p/11596661.html nodejs 进程管理器 pm2 的使用 PM2 是一款非常优秀的 Node 进程 ...

  4. nodejs的nvm与.net的dnvm使用对比

    一.vm安装命令 nodejs的nvm安装命令: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.s ...

  5. 转)nodejs后台启动方式PM2

    如果直接通过node app来启动,如果报错了可能直接停在整个运行,supervisor感觉只是拿来用作开发环境的.再网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2 ...

  6. 【NodeJS】nvm、npm、node安装、使用、淘宝源设置等资料

    NodeJS-安装使用淘宝源 管理 node 版本,选择 nvm 还是 n? - WEB前端 - 伯乐在线 creationix/nvm: Node Version Manager - Simple ...

  7. nodejs项目管理之supervisor||pm2||forever

    supervisor 是开发环境用. forever 管理多个站点,每个站访问量不大,不需要监控. pm2 网站访问量比较大,需要完整的监控界面. supervisor 特点: 代码修改,实时重启 安 ...

  8. Docker部署nodejs应用并使用PM2作为守护进程

    环境:centos7.6 Docker version 18.06.0-ce mkdir /data cd /data 拉取最新keymetrics/pm2:latest-alpine镜像 docke ...

  9. nodejs基础-nvm和npm

    nvm npm 更新 npm install npm@latest -g 本地安装 npm install 包名称 require(”包名“) 全局安装 npm install 包名 -g 可以直接作 ...

随机推荐

  1. SQL-Oracle内实现柱形图式的效果

    在SQL SERVER内有一个函数replicate()可以实现柱形图效果,本质上是利用字符重复出现的次数来控制柱形图的长短,效果如图: 如果要在Oracle内实现相同的效果,则需要自己写一个函数: ...

  2. Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)

    <Windows Azure Platform 系列文章目录> 因为我们在上一节中: Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1) 已经创建了Azure V ...

  3. leetcode:程序猿面试技巧

    起因 写在开头,脑袋铁定秀逗了,历时20多天,刷完了leetcode上面151道题目(当然非常多是google的),感觉自己对算法和数据结构算是入门了,但仍然还有非常多不清楚的地方,于是有了对于每道题 ...

  4. logstash 向elasticsearch写入数据,怎样指定多个数据template

    之前在配置从logstash写数据到elasticsearch时,指定单个数据模板没有问题.可是在配置多个数据模板时候,总是不成功,后来找了非常多资料,最终找到解决的方法,就是要多加一个配置项: te ...

  5. es6+require混合开发,兼容es6 module,import,export之 加载css及公用date-main

    大家好!上篇文章已经介绍了搭建文件夹,以及加载js文件.现在讲一下加载css ,以及对baseUrl的理解 1.对项目结构的认知 一个项目的结构是根据项目的架构来决定的,当然也可以做到更智能,但是意义 ...

  6. 翻译:Identifier Qualifiers标识限定符

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  7. [原创]mysql的zip包如何在windows下安装

    今天在尝试zipkin的链路数据写入mysql,本机恰好没有按照mysql.找到一个很久前谁发的mysql-5.6.19-winx64.zip,版本不新?别挑剔啦,只是本机测试,能用就好哈哈.. 解压 ...

  8. 理解Babel是如何编译JS代码的及理解抽象语法树(AST)

    Babel是如何编译JS代码的及理解抽象语法树(AST) 1. Babel的作用是?   很多浏览器目前还不支持ES6的代码,但是我们可以通过Babel将ES6的代码转译成ES5代码,让所有的浏览器都 ...

  9. springboot swagger-ui结合

    随着移动互联的发展,前后端的分离已经是趋势.前后端已不是传统部门的划分,而是它们各有一套的生态系统,包括不同的开发语言.不同的开发流程.构建方式.测试流程等.做前端的不需要会maven作为构建工具,后 ...

  10. Huffman 哈夫曼编码与译码的原理剖析及C++实现

    原理 我们在信息存储时,希望以最少的空间去存储最大的数据,方便数据的传输,那么该怎样做呢? 我们想到将源信息转化为01序列存储,但是这样以来又有一个问题,就是子串匹配问题,我们为了解决这个方法,想到了 ...