在windows生产服务器上部署node.js项目

根据我多次部署经验,最重要的就是选系统,不然各种缺库很折腾人

推荐使用 Windows Server 2012标准版64位中文版

步骤如下:

  1. 安装visualcppbuildtools_full.exe(这是官方的一键安装包),选择默认配置,等待安装完成,安装完后重启(如果安装结果出现错误或警告,一般都是因为缺库,要确认系统的补丁是否已经全部打上)
  2. 如果需要安装MongoDB,则下载安装包mongodb-win32-x86_64-2008plus-ssl-3.4.9-signed.msi,全部选择默认配置,等待安装完成,安装完后不需要重启
    进入安装目录下(一般默认在C:\Program Files下),在MongoDB文件目录下,新建data文件夹,在data文件夹下,新建logs.txt文件
    使用管理员权限打开命令提示符,cd进入到mongod.exe所在目录(默认安装在C:\ Program Files\MongoDB\Server\3.4\bin目录下,即输入命令 cd C:\ Program Files\MongoDB\Server\3.4\bin)
    输入以下命令(以默认安装目录为例):mongod --logpath "C:\Program Files\MongoDB\data\logs.txt" --logappend --dbpath "C:\Program Files\MongoDB\data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
    安装MongoDB服务成功后,打开服务选项,找到MongoDB后,右击选择属性,设置为自动启动,并手动启动服务
  3. 下载nodejs安装包node-v7.10.0-x64.msi(可自行根据开发的版本决定),全部选择默认配置,等待安装完成,安装完后不需要重启
  4. 下载python安装包python-2.7.3.msi(必须使用2.7,现在的node版本还不支持python3),全部选择默认配置,等待安装完成,安装完后不需要重启
  5. 配置nodejs
    打开命令提示符,输入命令node -v,显示v7.10.0,表示node安装成功
    依次输入以下命令(以默认安装目录为例)
npm config set prefix "C:\Program Files\nodejs\node-global"
npm config set cache "C:\Program Files\nodejs\node-cache"
npm config set registry https://registry.npm.taobao.org
npm config set msvs_version 2015
npm config set python "C:\Python27\python.exe"

将C:\Program Files\nodejs\node-global加入到系统环境变量中,加入后,重新打开命令提示符

  1. 复制源码
    将源码拷贝至C:\下(以C:\举例)【推荐先装个git,再使用git命令更新代码,这样以后更新代码会方便一点】
    使用命令提示符进入代码目录(假设源码目录名为Your-Code)
cd C:\Your-Code

//等待各种包安装完成
npm install

//等待编译完成
npm run build

//等待pm2安装完成
npm install pm2 -g

//使用pm2命令启动服务
pm2 start app.js