Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Default root (server.js) file for node.js site on windows azure

Tags:

node.js

azure

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?

like image 518
Mike Monteiro Avatar asked Mar 15 '13 18:03

Mike Monteiro


2 Answers

What worked for me was generalhenry's suggestion above:

In package.json, add:

"scripts": {
    "start": "node index.js"
}
like image 70
Mike Monteiro Avatar answered Nov 01 '22 22:11

Mike Monteiro


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>
like image 29
Tiberiu Maxim Avatar answered Nov 01 '22 23:11

Tiberiu Maxim