2016-12-01 63 views
1

我已經使用Loopback構建了一個API。現在是時候將其託管在我的Windows機器上了,Googling提出了兩個不同的選項:1)使用NSSM創建服務; 2)使用IIS模塊IISNode來使用IIS進程託管API。由於使用IIS的好處似乎太強大而無法忽視,因此我選擇了該選項。在IIS中使用IISNode承載Loopback API

回送文檔指出,iisnode可用於託管回送api,但未能提供有關該主題的任何指導。

Iisnode文檔還有一些非常基本的例子,其中一些基於Express(基於回送),但沒有說清楚如何修改環迴應用程序以便與iisnode一起使用。在他們簡單的例子中,主節點文件位於節點項目的根級別。但是,Loopback保留其「〜/ server/server.js」。這使得它不清楚在哪裏放置和配置iisnode工作所需的web.config文件。

是否有人知道一個體面的教程或walk-though在IIS中使用iisnode承載Loopback項目?我發現的所有內容都是含糊不清的文章,說明「嗯...... 應該工作。」有沒有人使用iisnode成功託管了一個迴環項目?

回答

0

我不確定你需要一個Loopback特定教程來幫助你。你只需要修改你的Web.config

在你的Web.config裏面需要一個iisnode處理函數。這指示IISNode哪個文件是您的項目中的主文件。要將流量引導至您的服務器文件路徑,只需更改處理程序上的path屬性。

<handlers> 
    <add name="iisnode" path="/server/server.js" verb="*" modules="iisnode"/> 
</handlers> 

我們爲您的建立與快速的IISNode應用幾個不同的演練,但它們適用於真正什麼是建立與IISNode。

+0

是的,web.config文件需要指向Loopback的主文件。我已經嘗試過,但可惜沒有成功。也許這是因爲我的網站在IIS中安裝?該網站在頂層有一個通用登陸HTML頁面。在該站點中,我創建了一個子目錄「Compass」,在該子目錄下我想要託管Loopback API。它位於web.config文件所在的「Compass」目錄中。根據我讀過的例子以及你引用的例子,子目錄看起來就像是合適的位置。但沒有喜樂。我已經驗證iisnode是已安裝的模塊。但是,我會再試一次。 – user3356792

0

請務必遵循這個小檢查。迴環網絡託管服務器上有一個已知的問題(不完全的問題,而是一個保護功能,它可以絆倒第一次部署):

https://github.com/masonkmeyer/loopback-azure

的app.start()被調用,只有當回送的服務器.js是直接調用的。但是像IIS這樣的web服務器通常會通過要求它來調用主腳本。上面提出的解決方案有點不雅觀,因爲它不能保證只有在引導完成後才能調用app.start來設置其餘的端點。

否則web.config是非常簡單的。下面幫我配置了一下: https://tomasz.janczuk.org/2011/08/using-url-rewriting-with-nodejs.html