将iisnode指向嵌套在iis网站文件夹中的server.js文件
我无法让iisnode运行我的节点应用程序。 我的目录结构是
iis-site -client -server -server.js
我怎样才能让iisnode指向一个嵌套的.js文件? 我试过这个,但它服务器server.js而不是执行它。
<handlers> <add name="iisnode" path="server\server.js" verb="*" modules="iisnode" /> </handlers>
和
<rule name="default"> <match url="/*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="server/server.js" /> </rule>
我最终把这个作为一个问题发布在GitHub项目上,并在那里得到了答案 。
基本上,这种方法是将.js
文件保存在需要引导应用程序的.js
目录的根目录下。
例如:
<handlers> <add name="iisnode" path="iisnode.js" verb="*" modules="iisnode" /> </handlers>
和
<rule name="default"> <match url="/*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="iisnode.js" /> </rule>
在iisnode.js
有一行代码: require(__dirname + '\\server\\server.js');
我挣扎了一下,这里是我的解决scheme没有任何额外的文件
处理器
<handlers> <add name="iisnode" path="dist/index.js" verb="*" modules="iisnode"/> <!-- Remote debugging (Azure Website with git deploy): Uncomment NtvsDebugProxy handler below. Additionally copy Microsoft.NodejsTools.WebRole to 'bin' from the Remote Debug Proxy folder.--> <!--<add name="NtvsDebugProxy" path="ntvs-debug-proxy/7afabecd-23d0-4ac1-a682-c36ef59e1480" verb="*" resourceType="Unspecified" type="Microsoft.NodejsTools.Debugger.WebSocketProxy, Microsoft.NodejsTools.WebRole"/>--> </handlers>
Rewite规则
<rewrite> <rules> <clear/> <!-- Remote debugging (Azure Website with git deploy): Uncomment the NtvsDebugProxy rule below. --> <!--<rule name="NtvsDebugProxy" enabled="true" stopProcessing="true"> <match url="^ntvs-debug-proxy/.*"/> </rule>--> <rule name="app" enabled="true" patternSyntax="ECMAScript" stopProcessing="true"> <match url="iisnode.+" negate="true"/> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"/> <action type="Rewrite" url="dist/index.js"/> </rule> </rules>
所以你可以看到我的应用程序入口点在dist / index.js中
的Gabor
- IIS反向代理到node.js
- 将iisnode中的Node.js环境variables(NODE_ENV)设置为Production / Development / Test
- iisnode 500.21处理程序“iisnode”在其模块列表中有一个错误的模块“iisnode”
- “应用程序已经抛出一个未捕获的exception,并终止:错误:听EACCES 0.0.0.0:80”
- iis7返回404没有发现node.js网站随机错误
- 在iis上运行反应同构
- 当Node应用程序返回一个4xx时,IIS返回500
- 客户端没有通过IIS节点从SocketIO接收事件
- 我应该为iisnode设置哪个pipe理pipe道模式?