[英]How to run Node.JS server for a web application?
信息:我對node.JS很新!
我編寫了一個可以偵聽端口XXXX上的http請求的示例服務器。 當我從命令行(Windows)運行此服務器時,它似乎運行良好。 它響應在瀏覽器中打開時對localhost:XXXX的請求。
問題:這是應該如何工作的嗎? 要使節點服務器運行,是否應始終打開CMD提示以使服務器偵聽請求? 我不能用IISNode“做點什么”嗎?
我理解,如果我向一個JS文件發出請求,這個文件在IISNode中被記為Node.JS文件並且NODE應該處理它; 然后我會讓Node處理我的請求。 但是,這假設IIS是我的Web服務器,並且Node可以處理特定請求。
我希望我在這里有意義! :)
在Windows上,您有兩個托管node.js應用程序的選項:
我用適當的方法解決了它。 是的,它是IISNode ..但是沒有任何評論似乎回答如何為同一個IIS(也提供PHP,ASPX等)托管的不同應用程序“運行”app.js
步驟1.編輯節點應用程序的入口點(通常)app.js以獲取新的URL結構。
Express應用程序假定它擁有整個URL空間並從根本身啟動URL,如下所示:
編輯app.js看起來如下(但是把你的應用程序的目錄名稱改為“aaspass”!!):
現在將web.config文件放在應用程序的根目錄下,如下所示(您可以使用此模板:webconfig)。
再次編輯文件並將名稱“aaspass”更改為應用程序的目錄名稱。
而已! 您可以根據需要為多個應用程序執行此操作,並將它們托管在SAME服務器上。
什么對我有用:
在Node.js應用程序/文件夾中添加web.config文件。 以下是web.config文件的內容:
在處理程序中,我只需要指向app.js(應用程序的典型入口點)。 我沒有改變我的任何路線(沒有必要附加任何文字)。
..
<configuration>
<appSettings>
<add key="NODE_ENV" value="production" />
</appSettings>
<system.webServer>
<handlers>
<add name="iisnode" path="server/app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<clear />
<rule name="cdw">
<match url="/*" />
<action type="Rewrite" url="server/app.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
如果你在Windows上,你可以(也可能應該)在IIS下運行Node.js:
http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.