在 Windows 上将 Node.js 应用程序发布到 IIS

683 阅读1分钟

一、下载模块

1.安装iisnode模块

1.1 iisnode是一个本地的IIS模块,它允许在Windows上的IIS中承载node.js应用程序。

iisnode的下载地址:github.com/tjanczuk/ii…

Iisnode的下载地址:github.com/tjanczuk/ii…

1.2 下载对应的版本安装完成后,可通过执行iisnode安装文件夹下的setupsamples.bat来测试iisnode是否安装成功。

(1)、进入iisnode文件夹,执行setupsamples.bat。

2)、执行setupsamples.bat成功后,即在Default Web Site站点下创建了一个名称为node的目录。

访问http://localhost/node/

2、安装iis的URL Rewrite模块 【Chinese Simplified: x86 installer / x64 installer】 下载这个

2.1 iis的URL Rewrite模块可以通过定义规则实现URL的重定向。

URL Rewrite的下载地址:www.iis.net/downloads/m…

3.2 安装完成后访问http://localhost/node/helloworld/hello.js,出现如下页面即代表URL Rewrite模块安装成功。

二、部署项目

1、建立站点(在 IIS 中创建一个新的站点,将其指向 Node.js 项目文件夹。确保站点设置正确,并且具有适当的访问权限)

在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"/>
        <defaultDocument>
            <files>
                <add value="app.js" />
            </files>
        </defaultDocument>
 </system.webServer>
</configuration>

3、修改代码中的监听端口号。

由于iis部署站点时已经设置了端口号,因此代码中监听端口的语句可进行优化修改,如将

server.listen(3000, '127.0.0.1');修改为server.listen(process.env.PORT || 3000);从环境变量中读取端口值,或者默认使用 3000 端口。

process.env.PORT:读取当前目录下环境变量port的值。

4、部署完成后可以先使用工具进行测试