iisnode

IIS üzerinde Node.js Dağıtım ve Yayınlama - iisnode

Windows Server 2016 x64 ve IIS 10.0 üzerinde test edilmiştir. Farklı sürümler için tüm gereksinimler aynı sadece iisnode için uygun sürüm kurulmalıdır.

Gereksinimler:

Kurulum sonrasında projede “web.config” bulunmalıdır.
Aşağıdaki config örneği Express Framework ile de kullanılabilir. App, server.js ile başlatılacaktır. Konsoldaki çıktılar logDirectory ile belirtilen klasorden kontrol edilebilir. “config” içerisindeki debug kısımları “production” aşamasına geçerken güncellenmelidir.

<configuration>
  <system.webServer>
	<httpErrors existingResponse="PassThrough" />
    <handlers>
      <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
    </handlers>

	<iisnode      
      node_env="%node_env%"
      nodeProcessCountPerApplication="1"
      maxConcurrentRequestsPerProcess="1024"
      maxNamedPipeConnectionRetry="100"
      namedPipeConnectionRetryDelay="250"      
      maxNamedPipeConnectionPoolSize="512"
      maxNamedPipePooledConnectionAge="30000"
      asyncCompletionThreadCount="0"
      initialRequestBufferSize="4096"
      maxRequestBufferSize="65536"
      watchedFiles="*.js;iisnode.yml"
      uncFileChangesPollingInterval="5000"      
      gracefulShutdownTimeout="60000"
      loggingEnabled="true"
      logDirectory="C:\Logs"
      debuggingEnabled="true"
      debugHeaderEnabled="false"
      debuggerPortRange="5058-6058"
      debuggerPathSegment="debug"
      maxLogFileSizeInKB="128"
      maxTotalLogFileSizeInKB="1024"
      maxLogFiles="20"
      devErrorsEnabled="true"
      flushResponse="false"      
      enableXFF="false"
      promoteServerVars=""
      configOverrides="iisnode.yml"
     />
	
    <rewrite>
      <rules>
        <rule name="rulename">
          <match url="/*" />
          <action type="Rewrite" url="server.js" />
        </rule>
      </rules>
    </rewrite>
    
  </system.webServer>
</configuration>