![b7c0b291f9410bf334cbfbaa37fc8192.png](https://i-blog.csdnimg.cn/blog_migrate/df2967537b215c1a88dbbaed442262fd.jpeg)
一、安装必须的软件环境和模块
1、安装node.js。
1.1 在nodejs官网进行安装程序的下载,下载地址:
https://nodejs.org/en/
1.2 安装完成后,可通过输入命令node -v 检测是否安装成功,如显示nodejs的版本号则代表成功安装了nodejs,如下图所示:
![9de92ba6789200ee72709dc61c5d6531.png](https://i-blog.csdnimg.cn/blog_migrate/d8350d8c71ef4056f5cfb2bf55f9f053.jpeg)
2、安装iisnode
2.1 iisnode是一个本地的IIS模块,它允许在Windows上的IIS中承载node.js应用程序。
![6c911259f26fdb852949e2b5111469f5.png](https://i-blog.csdnimg.cn/blog_migrate/a03a7c2b16dfcdc17b3948a9a2dbf37a.jpeg)
iisnode的项目地址:https://github.com/tjanczuk/iisnode
Iisnode的下载地址:https://github.com/tjanczuk/iisnode/wiki/iisnode-releases
2.2 下载对应的版本安装完成后,可通过执行iisnode安装文件夹下的setupsamples.bat来测试iisnode是否安装成功。
(1)、进入iisnode文件夹,执行setupsamples.bat。
![b866bddbcf99d78df96d47674ce1189a.png](https://i-blog.csdnimg.cn/blog_migrate/78e242fdff478899e68ea6bce499d392.jpeg)
(2)、执行setupsamples.bat成功后,即在Default Web Site站点下创建了一个名称为node的目录。
![e64d0f00a6eb55589fe5e2be19f3b468.png](https://i-blog.csdnimg.cn/blog_migrate/9cecab135c3a03992229a426fe26e3e5.jpeg)
访问http://localhost/node/,出现如下页面即代表iisnode安装成功。
![e30d37c65c1aae0bb9a6ba6490ab2dc3.png](https://i-blog.csdnimg.cn/blog_migrate/d601673f0a33d2dd5f92c648b0408ded.jpeg)
3、安装iis的URL Rewrite模块
3.1 iis的URL Rewrite模块可以通过定义规则实现URL的重定向。
![633bc95fb1c38bbb6c7bc6ee2ef1ded5.png](https://i-blog.csdnimg.cn/blog_migrate/c8b84574738a16b77f5f692208ea7c5f.jpeg)
URL Rewrite的下载地址:https://www.iis.net/downloads/microsoft/url-rewrite
3.2 安装完成后访问http://localhost/node/helloworld/hello.js,出现如下页面即代表URL Rewrite模块安装成功。
![f8f42aa9dda6ba73e075a6fc47225e6f.png](https://i-blog.csdnimg.cn/blog_migrate/7b8b52a4697b928b343fe5be3101b129.jpeg)
二、部署项目
1、建立站点。
在iis中建立一个新的站点,指向nodejs的项目文件夹。
2、创建web.config文件。
在nodejs项目文件夹的根目录下新建一个web.config文件并写入以下内容:
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<rewrite>
<rules>
<rule name="all">
<match url="/*" />
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
<iisnode promoteServerVars="REMOTE_ADDR" />
</system.webServer>
</configuration>
3、浏览访问nodejs项目网站。
打开浏览器访问nodejs的项目网站,如能成功访问即完成了iis部署运行nodejs。
三、一些常见问题
1、执行iisnode安装文件夹下的setupsamples.bat不成功。
如果在执行setupsamples.bat的过程中发生了错误并提示:ERROR <message:找不到带有标识符“Default Web Site/node”的APP对象。>,如下图所示:
![ec0fb5b57b58d302c905d9745bc5f3f6.png](https://i-blog.csdnimg.cn/blog_migrate/78150e656babbb500016d06917d3339e.jpeg)
这是因为iis默认创建的站点Default Web Site被删除了,重新创建一个名为Default Web Site的站点即可。
2、无法安装URL Rewrite。
在URL Rewrite的下载页面,点击“Install this extension”下载的安装程序可能会长时间停留在如下安装页面无法安装完成。
![b126053d92bb6431a3237abb159bd592.png](https://i-blog.csdnimg.cn/blog_migrate/048de6cefa06b0da7c3557e33e623e5f.jpeg)
可通过下载下方的安装程序进行安装,如下图所示:
![3f044e3f1d0b38a62290361b509fde09.png](https://i-blog.csdnimg.cn/blog_migrate/76d9976ef2239ce8db16e90219198fba.jpeg)
3、修改代码中的监听端口号。
由于iis部署站点时已经设置了端口号,因此代码中监听端口的语句可进行优化修改,如将
server.listen(3000, '127.0.0.1');
修改为
server.listen(process.env.PORT || 3000);
//process.env.PORT:读取当前目录下环境变量port的值。
大家在实际部署运行过程中还有遇到些什么问题,欢迎留言一起共同讨论学习!
![c6c8bebe490357202b4e8baf8a49c711.png](https://i-blog.csdnimg.cn/blog_migrate/7acce99721c32d6e2f7781377b4c4d09.jpeg)