Web开发之Nodejs:(1)Express环境配置及项目部署

作者:陆金龙    发表时间:2017-12-31 00:16   


1.开发环境配置

1.1 node nvm环境安装

1.下载:nvm-windows,解压到一个全英文路径。

2.将 settings.txt 中

root 配置为当前 nvm.exe 所在目录,如C:\Node\nvm

path 配置为 node 快捷方式所在的目录,如C:\Node\nodejs

arch 配置为当前操作系统的位数(32/64),如:64

proxy 不用配置

3.配置环境变量

NVM_HOME = C:\Node\nvm (注:当前 nvm.exe 所在目录)

NVM_SYMLINK = C:\Node\nodejs (注:node 快捷方式所在的目录)

PATH = %NVM_HOME%;%NVM_SYMLINK%;

4.测试环境

    cmd命令提示符界面运行以下命令,正常则安装成功。

    nvm

    nvm ls

   如果报错:nvm报错 ERROR open \settings.txt: The system cannot find the file specifie 

   则执行一下nvm目录下是install.cmd,目录选择环境变量NVM_HOME对应的路径。

1.2 node及npm安装

1.使用nvm安装配置node(含npm)

安装node 7.10.1版本,并将当前使用版本切换到7.10.1

  nvm install 7.10.1

  nvm use 7.10.1

 上述安装如果下载不了 ,请关闭杀毒软件、安全卫士等软件,再重试(我的是关闭瑞星杀毒就好了)。

 

配置node.exe和npm.cmd的环境变量

NODE_HOME = C:\Node\nvm\v7.10.1

PATH = %NODE_HOME%;

2. 配置npm的全局安装路径

进入命令模式,输入 npm config set prefix "C:\Node\nvm\v7.10.1\node_modules\npm"

提示node不是内部或外部命令,C:\Node\nvm\v7.10.1下是有node64.exe 的。

将node64.exe 改名为node.exe,重新执行上面的命令

为这个npm配置环境变量:

NPM_HOME=C:\Node\nvm\v7.10.1\node_modules\npm

PATH = %NPM_HOME%;  

注意这个%NPM_HOME%;一定要添加到%NVM_SYMLINK%;的前面。

1.3 node配置淘宝镜像

执行 npm install -g cnpm --registry=https://registry.npm.taobao.org

使用cnpm install替代npm install命令进行安装node_modules

如果换回原来的则执行 npm config set registry https://registry.npmjs.org/

2 安装和配置Express框架

安装express 和express-generator

npm install -g express

npm install -g express-generator

使用Express创建blog工程

cd C:\Node\projects

express -e klblog

初始化项目依赖

cd klblog && npm install  (注:不成功则配置淘宝镜像 使用cnpm install替代npm install)

Error: Cannot find module 'express'

    at Function.Module._resolveFilename (module.js:470:15)

    at Function.Module._load (module.js:418:25)

    at Module.require (module.js:498:17)

    at require (internal/module.js:20:19)

    at Object.<anonymous> (C:\Node\projects\klblog\app.js:1:77)

    at Module._compile (module.js:571:32)

    at Object.Module._extensions..js (module.js:580:10)

    at Module.load (module.js:488:32)

    at tryModuleLoad (module.js:447:12)

    at Function.Module._load (module.js:439:3)

npm ERR! Windows_NT 6.2.9200

npm ERR! argv "C:\\Node\\nvm\\v7.10.1\\node.exe" "C:\\Node\\nvm\\v7.

odules\\npm\\bin\\npm-cli.js" "start"

......

package.json可能安装失败, 使用cnpm install 安装模块,成功

运行项目

SET DEBUG=klblog:* & npm start

访问3000端口的站点

3.Node.js项目部署

3.1 二级域名解析

如果二级域名与主域名使用80端口,则解析时 记录类型使用A,记录值填ip地址,如下图:

由于Node.js项目可能不是部署到IIS上,且使用单独的端口3000,因此解析时不同于上述常规的做法。

二级域名blog.iprogram.com.cn解析时,记录类型使用隐性URL,记录值(URL转发记录的值为域名或URL地址)填http://iprogram.com.cn:3000,而不再用ip地址,如下所示:

注意:需在防火墙规则中开放3000端口;3000端口未向外开放,则无法访问成功。

这里记录类型不要使用显性URL,显性URL是302跳转,浏览器地址栏的显示会新的地址http://iprogram.com.cn:3000。

记录类型设置为隐性URL,访问http://blog.iprogram.com.cn时,服务端通过http://iprogram.com.cn:3000获取资源进行响应,浏览器地址栏则始终显示http://blog.iprogram.com.cn,因为并没有发生跳转。

3.2 部署Node.js项目

3.2.1 iisnode部署应用

3.2.2 nssm部署应用

下载:http://nssm.cc/release/nssm-2.23.zip

下载之后解压,根据系统选择32位或64位的版本。

可将nssm.exe所在目录添加到环境变量的Path中。

直接在nssm.exe 所在目录运行命令行,输入nssm install  你的服务名,如nssm install klblog

Path 中选择你的node.exe的安装路径,

Startup directory 选择node应用的目录,即项目文件启动目录

Arguments输入项目的启动文件

点击Install Service:OK

 

如果nssm在c盘,以管理员身份执行以下操作:

nssm start servername //启动服务

nssm stop servername //暂停服务

nssm restart servername //重新启动服务

nssm remove servername //删除创建的servername服务