It seems like Windows Azure expects that your node.js site should run with:
node server.js
Is there a way to change this command? Specifically, my application's root is index.js intead of server.js, so I'd prefer that it did:
node index.js
Anyone know if this is configurable? And even if it is, is it generally considered bad form to have anything other than server.js?
What worked for me was generalhenry's suggestion above:
In package.json, add:
"scripts": {
    "start": "node index.js"
}
                        None of the solutions above worked for me. Searching for another thing, i've found the solution. You have to set your entrypoint in web.config file which is a xml file. Check this example file (you just have to replace server.js with whatever you want):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>         
      <handlers>
           <add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
     </handlers>
      <rewrite>
           <rules>
                <rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
                     <match url="iisnode"/>
                </rule>
                <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">                    
                    <match url="^server.js\/debug[\/]?" />
                </rule>
                <rule name="StaticContent">
                     <action type="Rewrite" url="public{{REQUEST_URI}}"/>
                </rule>
                <rule name="DynamicContent">
                     <conditions>
                          <add input="{{REQUEST_FILENAME}}" matchType="IsFile" negate="True"/>
                     </conditions>
                     <action type="Rewrite" url="server.js"/>
                </rule>
           </rules>
      </rewrite>
   </system.webServer>
 </configuration>
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With