如何重启iisnode?

nit*_*mws 2 appcmd node.js iisnode

我们在Windows 2008R2服务器上使用带有IIS 7.5的iisnode.node.js应用程序在启动时加载一些配置数据.配置数据有时会发生变化,需要重新启动应用程序.

通过Windows系统管理器控制台重新启动IIS站点实例时,一切正常.

当重新启动IIS appcmd stopappcmd start命令时,node.js-app不会再次启动.看起来iisnode无法识别IIS的重启.

如何通过命令(即通过命令行)重新启动iisnode环境中的node.js应用程序?

pet*_*teb 5

您可以使用文件中元素的watchedFiles属性通过IISNode自动回收站点.我知道这不是通过命令行,但从您的问题看来,这似乎也可以解决问题,而不需要任何人的人工干预.iisnodeWeb.config

使用以下信息,您可以设置IISNode以查看您的配置文件以及何时更改IISNode将回收该站点.

来自IISNode示例配置的注释

watchedFiles - 以分号分隔的文件列表,将监视更改; 更改文件会导致应用程序回收;

每个条目包含一个可选的目录名称和所需的文件名,它们与主应用程序入口点所在的目录相关;

仅在文件名部分允许使用通配符; 例如:"*.js; node_modules\foo\lib\options.json; app_data*.config.json"

iisnode来自Web.config的示例元素,它将在Web.config更改时重新定位站点,或者在应用程序的顶级文件夹中重新定义任何.js文件.

    <iisnode
        node_env="%node_env%"
        nodeProcessCountPerApplication="1"
        maxConcurrentRequestsPerProcess="1024"
        maxNamedPipeConnectionRetry="100"
        namedPipeConnectionRetryDelay="250"
        maxNamedPipeConnectionPoolSize="512"
        maxNamedPipePooledConnectionAge="30000"
        asyncCompletionThreadCount="0"
        initialRequestBufferSize="4096"
        maxRequestBufferSize="65536"
        uncFileChangesPollingInterval="5000"
        gracefulShutdownTimeout="60000"
        loggingEnabled="true"
        logDirectory="iisnode"
        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"
        watchedFiles="web.config;*.js"                    
        nodeProcessCommandLine="C:\Program Files (x86)\nodejs\node.exe" />
Run Code Online (Sandbox Code Playgroud)