2015-09-07 31 views
3

我試圖將3節點js服務器合併爲一個。如何將xmpp服務器集成到節點js應用程序中?

  • 在第一臺服務器我有應用服務器。
  • 在第二個我有node-xmpp-server,
  • 和最後一個node-xmpp-bosh服務器。

我要整合應用server.How最後兩個服務器可以我這樣做,我試着用express.vhost但是我收到一個錯誤

是這樣的:像虛擬主機最中間件不再與Express捆綁在一起,大部分都是單獨安裝。

感謝您的幫助!

+0

你有沒有運行在應用程序服務器的根「故宮安裝虛擬主機」? https://github.com/expressjs/vhost#install – Benjamin

+0

是的,我已經安裝了它! – marian

+0

好的,添加了一個答案,可以指導您解決所需的問題。 – Benjamin

回答

0

經過下面的評論,解釋說您希望所有「應用程序」同時啓動,我建議您使用一個'bootstrap'文件啓動所有應用程序,並通過您想要偵聽的端口。有關一個非常簡單的示例,請參閱this github repo,該示例通過要求執行應用程序特定配置的單個文件從單個文件index.js啓動兩個快速應用程序。

您可以將任何您想要的任何東西附加到各個應用程序module.exports,以便您可以從父引導程序文件中的代碼中將它們全部控制爲一個組。


對於那些尋找一個解決方案由提問者報告錯誤,下面詳細介紹瞭如何解決錯誤報告;但不能解決提問者的問題

按照該documentation on the express 3.x to 4.x changes和答案this question (though the middleware is different)現在虛擬主機不再與快遞捆綁它必須是require d和單獨使用 - 它不會對你的express實例註冊本身正在使用,所以你不能再使用express.vhost方法。

從,這是相關線路:

var vhost = require('vhost') 

//... 

// add vhost routing to main app for mail 
app.use(vhost('mail.example.com', mailapp)) 
+0

好吧..我會說在另一種模式...我有在本地主機運行的bosh應用程序:5280 ..我有本地主機上運行的serverClient應用程序:5000..以及在localhost上運行的mainApp:3000.I想要當我開始主應用程序啓動下兩個應用程序(運行在5000和5280)... – marian

+0

好吧 - 爲了澄清 - 你有三個先前分開的應用程序,你已經把一個代碼庫,和你(當你啓動您的應用程序)想要同時收聽所有端口?如果是這樣的話,應用程序不需要以代碼連接;如果您希望所有應用程序都由相同的引導程序文件啓動,只需在每個啓動主引導程序/索引中的每個應用程序的文件中進行操作即可。 – Benjamin

+0

我不知道該怎麼做......請給我一個小例子 – marian

相關問題