"本资源主要介绍如何在IIS上托管Node.js服务,包括安装环境、步骤及配置细节,特别强调了支持开机自启动和断线重连的功能,并且避免使用DOS命令操作。"
在IIS上托管Node.js服务是一项常见的技术实践,尤其对于那些希望在Windows服务器环境中运行Node应用的开发者而言。以下是一些关键知识点:
1. 系统环境:此处使用的环境是Windows 7 x64和IIS 7。尽管描述中提到的是Windows 7,但这种方法同样适用于更高版本的Windows Server操作系统和IIS。
2. Node.js安装:首先需要安装Node.js,注意要根据服务器的位数选择32位或64位版本。在本例中,由于目标是32位程序文件夹,所以即使服务器是64位的,也要安装32位的Node.js,并将其放在"C:\Program Files (x86)\nodejs"目录下。
3. IISNode安装:IISNode是使Node.js能够与IIS集成的模块。安装IISNode时,确保Node.js的可执行文件`node.exe`位于正确路径,否则安装可能失败。
4. URL Rewrite模块:为了实现URL重写功能,需要安装URL Rewrite模块,这对于Express等框架构建的应用是必要的,可以处理路由规则。
5. 设置权限:在"C:\Program Files\iisnode"目录下设置用户权限,确保IIS有权限访问该目录。
6. 安装示例:运行IISNode自带的samples,这将在IIS管理器中自动生成一个Node.js站点。
7. 发布Node.js应用:将Node.js应用发布到IIS,例如,通过"http://localhost:8081"访问。需指定应用程序池的.NET版本,通常选择与服务器配置相匹配的版本。
8. 调整监听端口:在Node.js代码中,使用`process.env.PORT`来监听IIS分配的端口,例如在Express中,设置`app.set('port', process.env.PORT || 3000)`,这样既可以利用IIS的端口,也能在Node.js内部设置默认端口(如3000)。
9. 配置web.config:创建一个名为`web.config`的文件,放入IISNode配置,以指示IIS处理`app.js`作为Node.js应用。例如:
```xml
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode"/>
</handlers>
<!-- 更多URL重写规则可在此配置 -->
</system.webServer>
</configuration>
```
通过以上步骤,可以在IIS上成功托管Node.js服务,实现开机自启动和断线重连的功能,同时避免直接使用命令行操作,提高了管理效率和系统的稳定性。这种部署方式对于那些依赖Windows服务器环境的企业级应用非常适用。