Windows server 搭建 node.js&pm2生产环境

1、下载安装包

根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包

node.js下载地址https://nodejs.org/en/download/stable/

msi和.zip格式区别:

1、.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windowsinstaller的数据包,把所有和安装文件相关的内容封装在一个包里。

2、.zip是一个压缩包,解压之后即可,不需要安装

pm2 必须要有nodejs环境,需要先安装node.js

下载完成后,双击安装包,开始安装,一直点next即可,安装路径默认在C:\Program Files下,也可以自定义修改



Node.js runtime 表示运行环境

npm package manager表示npm包管理器

online documentation shortcuts 在线文档快捷方式

Add to PATH添加到环境变量


安装完成如图所示

安装完成后,.msi格式的安装包已经将node启动程序添加到系统环境变量path中,查看系统变量验证


已经将node程序添加到全局系统变量,我们可以直接在CMD窗口中任意位置执行node,打开CMD窗口,执行命令node -v查看node版本

最新版的node在安装时同时也安装了npm,执行npm -v查看npm版本


2、修改包路径

默认情况下,我们在执行npm install -g XXXX时,下载了一个全局包,这个包的默认存放路径位C:\Users\Administrator\AppData\Roaming\npm\node_modules下,可以通过CMD指令npm root -g查看


但是有时候我们不想让全局包放在这里,我们想放在node的安装目录下

1、在node安装目录下下新建两个文件夹

node_global 全局包下载存放

node_cache node缓存


2、修改路径

在CMD窗口执行以下两条命令:

npm configsetprefix"C:\node\node_global"

npm configsetcache"C:\node\node_cache"


或者在nodejs的安装目录中找到node_modules\npm.npmrc文件,修改如下:

prefix=C:\node\node_global

cache= C:\node\node_cache


我们更改了npm全局模块的存放路径和cache路径,需要修改系统环境变量。


下载一个全局包,执行命令npm install -g vue,可以发现,下载的全局包vue已经放在了我们设置的目录中



3、安装pm2

保证已安装node.js、npm环境

下载pm2安装包


pm2官网http://pm2.keymetrics.io/

PM2是nodeJS进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能jiank监控,自动重启,负载均衡等,而且使用是非常简单的。

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

主要特性

• 内建负载均衡(使用 Node cluster 集群模块)

• 后台运行 。

• 0 秒停机重载,维护升级的时候不需要停机。

• 具有 Ubuntu 和 CentOS 的启动脚本 。

• 停止不稳定的进程(避免无限循环)

• 控制台检测

• 提供 HTTP API

• 远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )

使用npm全局安装

npm install pm2 -g


未安装npm可以使用yarn安装

yarn global add pm2

启动一个应用

启动,守护和监视应用程序的最简单方法是使用以下命令行:

pm2 start app.js

常用命令

-watch:监听应用目录变化,一旦发生变化,自动重启。

-i -instances:启动多少个实例,可用于负载均衡,如果-i 0或 -i max,则根据当前机器核数来确定实例数目。

-ignore-watch:排查监听目录/文件,可以是特定文件名,也可以是正则。

-n -name:应用的名字,查看应用信息。

-o -output:标准输出日志文件路径

-e -error:错误日志文件输出

你可能感兴趣的:(Windows server 搭建 node.js&pm2生产环境)