使用IISnode运行Keystone.js

时间:2014-05-09 22:14:05

标签: node.js iisnode keystonejs

我对Keystone和IISnode都很新,所以请耐心等待。我已经成功地使用IISnode运行快速项目,我可以使用节点运行keystone.js项目,但合并这两个项目一直很困难。当我同时运行ETW跟踪时,在关闭它之前,我多次尝试“iisnode计划重试命令管道连接到node.exe进程”。我已经尝试将iisnode直接挂钩到keystone index.js文件(参见下面的web.config)以及项目根目录下的keystone.js文件。

<handlers>
  <add name="iisnode" path="node_modules/keystone/index.js" verb="*" modules="iisnode" />
</handlers>

我的预感是我需要像往常一样将它连接到keystone.js文件来启动项目但是你通常需要添加一个'keystone'参数,我不太确定我怎么做用iisnode做到这一点。谁能帮我吗?

2 个答案:

答案 0 :(得分:0)

web.config处理程序路径应设置为应用程序的入口点,而不是node_modules\keystone\index.js。如果您使用了keystone Yoeman生成器,则入口点是应用根文件夹中的keystone.js文件。

<configuration>
  <system.webServer>
    <handlers>
      <add name="iisnode" path="keystone.js" verb="*" modules="iisnode" />
    </handlers>

    ...

  </system.webServer>
</configuration>

答案 1 :(得分:-1)

我有更详细的说明如何在IIS上设置keystone.js。 http://www.dakehe.info/blog/post/deploy-keystonejs-node-cms-at-iis

<configuration>
  <system.webServer>
    <handlers>
      <add name="iisnode" path="keystone.js" verb="*" modules="iisnode" />
    </handlers>
    <defaultDocument enabled="true">
      <files>
        <add value="keystone.js" />
      </files>
    </defaultDocument>
    <rewrite>
      <rules>
        <rule name="Catch All">
          <match url="/*" />
          <conditions>
            <add input="{PATH_INFO}" pattern=".+\.js\/debug\/?" negate="true" />
          </conditions>          
          <action type="Rewrite" url="keystone.js" />
        </rule>
      </rules>
    </rewrite>
    <directoryBrowse enabled="false" />
     <iisnode node_env="production" loggingEnabled="true" debuggingEnabled="true" devErrorsEnabled="true" />
  </system.webServer>
</configuration>
相关问题