Centos7安装nvm、node、pm2
2017-05-11 本文已影响2656人
simuty
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