Web开发之Nodejs:(1)Express环境配置及项目部署
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服务