Ich habe WebMatrix installiert und folgte these Anweisungen, um IIS 7 auf meinem Windows 7-Computer zu installieren.Fehler beim Ausführen der Knoten-App in WebMatrix
Wenn ich auf 'Ausführen' meine ausdrückliche Knoten App laufen, der Browser öffnet sich und sagt mir
The iisnode module is unable to start the node.exe process. Make sure the node.exe executable is available at the location specified in the system.webServer/iisnode/@nodeProcessCommandLine element of web.config. By default node.exe is expected to be installed in %ProgramFiles%\nodejs folder on x86 systems and %ProgramFiles(x86)%\nodejs folder on x64 systems.
Hier ist meine web.config:
<configuration>
<system.webServer>
<handlers>
<!-- indicates that the app.js file is a node.js application to be handled by the iisnode module -->
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<!-- Don't interfere with requests for logs -->
<rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^[a-zA-Z0-9_\-]+\.js\.logs\/\d+\.txt$" />
</rule>
<!-- Don't interfere with requests for node-inspector debugging -->
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^app.js\/debug[\/]?" />
</rule>
<!-- First we consider whether the incoming URL matches a physical file in the /public folder -->
<rule name="StaticContent">
<action type="Rewrite" url="public{REQUEST_URI}" />
</rule>
<!-- All other URLs are mapped to the Node.js application entry point -->
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True" />
</conditions>
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
<!-- You can control how Node is hosted within IIS using the following options -->
<!--<iisnode
node_env="%node_env%"
nodeProcessCountPerApplication="1"
maxConcurrentRequestsPerProcess="1024"
maxNamedPipeConnectionRetry="3"
namedPipeConnectionRetryDelay="2000"
maxNamedPipeConnectionPoolSize="512"
maxNamedPipePooledConnectionAge="30000"
asyncCompletionThreadCount="0"
initialRequestBufferSize="4096"
maxRequestBufferSize="65536"
watchedFiles="*.js"
uncFileChangesPollingInterval="5000"
gracefulShutdownTimeout="60000"
loggingEnabled="true"
logDirectoryNameSuffix="logs"
debuggingEnabled="true"
debuggerPortRange="5058-6058"
debuggerPathSegment="debug"
maxLogFileSizeInKB="128"
appendToExistingLog="false"
logFileFlushInterval="5000"
devErrorsEnabled="true"
flushResponse="false"
enableXFF="false"
promoteServerVars=""
/>-->
<iisnode
nodeProcessCommandLine=""%programfiles%\nodejs\node.exe""
interceptor=""%programfiles%\iisnode\interceptor.js""
/>
</system.webServer>
</configuration>
Was ist der Grund dafür Problem, und wie repariere ich es?
Ist '" "% programfiles% \ nodejs \ node.exe " "' nicht der vollständige Pfad? –
Ich habe die 32-Bit-Version installiert und ja - es funktioniert jetzt. Vielen Dank Justin. –
Ich hatte das gleiche Problem und alle Korrekturen (Installation von x86 oder Bearbeiten von web.config oder die Platzierung eines Symlinks) hier und andere Orte ohne Erfolg angewendet. Es stellt sich heraus, dass Sie WAS mit den folgenden Befehlen von Powershell oder der Eingabeaufforderung erneut starten müssen: "net stop war" & "net start w3svc" Sobald ich diese Befehle ausgeführt wurde, funktionierte der Fix. Ich fand dieses auf der Problemseite für diesen spezifischen Fehler: https://github.com/tjanczuk/iisnode/issues/302 – Conor