我有一個網站託管我的開發項目。每個項目都是一個node.js
文件。問題是我只能同時在線1個項目 - 除非我將它們託管在不同的端口中。但假設我想發佈2個這樣的項目:my_site.com/foo
,my_site.com/bar
,其中第一個由「foo.js」管理,第二個由「bar.js」管理。我怎樣才能做到這一點?如何使用相同的端口提供不同的node.js應用程序?
回答
設置Nginx進程以將代理逆向轉換爲您的Node進程。 Nginx進程將保持該端口,並將my_site.com/foo
的請求發送到node foo.js
後端進程,並將my_site.com/bar
的請求發送到node bar.js
後端進程。
通過這種方式,您的節點進程保持完全獨立,並且如果其中一臺服務器變得流行,可以在以後輕鬆分離到不同的服務器。
你需要一個代理前面。您爲每個單獨的節點分配一個不同的端口。代理將端口80上的流量轉發到適當的後端節點進程。
這可以通過node-http-proxy(https://github.com/nodejitsu/node-http-proxy)或任何Web服務器來完成。 Nginx和lighttpd使它變得非常容易,Apache不那麼容易,但仍然完全可行。
這幾乎是完美的,但是接下來我將不得不在不同的端口上創建這些進程。這有點令人困惑,因爲如果我想單獨運行「foo.js」(比如說,我把它賣給了某人),我就不能僅僅使用「node foo.js」。 – MaiaVictor 2013-04-29 01:16:05
它不是一個幾乎完美的問題,它是唯一的方法。您不能在同一端口上運行多個進程。它是一個低級系統的東西。 – Geuis 2013-04-29 01:24:45
除了答案。如果你想稍後將它分開,你仍然可以自己運行foo,並使端口可配置(如果它不是現在)。 – TheHippo 2013-04-29 04:20:27
如果使用快遞/連接,你可以沿着
var bar = require("./bar"),
foo = require("./foo");
app.use(express.vhost("my_site.com/bar", bar));
app.use(express.vhost("my_site.com/foo", foo));
線使用的東西,是一個獨立的文件。
注:未測試
- 1. 如何在不同的端口上提供Ionic應用程序?
- 2. 配置使用相同域的應用程序使用不同的端口
- 3. 多個應用程序使用相同的內容提供商
- 4. Django應用程序應重定向到相同的IP但不同的端口
- 5. 應用程序是否使用相同的端口號或不同的端口進行併發連接?
- 6. IIS7在不同的目錄下提供相同的應用程序
- 7. Git與相同的應用程序,但不同的前端
- 8. WCF服務使用來自不同進程的相同端口?
- 9. NSOutlineVIew拖,放不同的窗口(相同的應用程序)
- 10. 爲什麼ServerSocket使用不同的端口提供Socket?
- 11. 端口不相同,用netstat
- 12. 如何使用REST與Node.js和AngularJS在不同的端口上?
- 13. 如何在使用不同端口的相同服務器上運行多個跨平臺Web應用程序?
- 14. Symfony2爲2個應用程序提供相同的UserBundle
- 15. 不同的Excel工作表的相同數據提供程序
- 16. IdentityServer3同步用戶提供客戶端應用程序
- 17. 如何爲多個應用程序提供相同的Linux用戶ID?
- 18. 何時爲客戶端服務器應用程序使用不同的端口?
- 19. 如何提供來自同一個域的兩個不同應用程序
- 20. 可以使用相同的接口定義但提供不同的行爲嗎?
- 21. 相同的端口,而在JMeter測試Web應用程序
- 22. 如何整合不同的端口使用不同的端口上運行Vue.js乾脆上運行Node.js的?
- 23. 我可以在不同的應用程序中爲不同的模型提供相同的名稱嗎?
- 24. iPhone - 相同的供應配置文件爲不同的應用程序?
- 25. 相同的應用程序
- 26. 如何爲不同的網站使用相同的Facebook應用程序
- 27. 使用相同的端口爲兩個不同的頁面
- 28. 在相同的IP但不同的端口上使用Rest API
- 29. 如何使用一些提供者使用相同的服務?
- 30. 如何爲在線和離線應用程序提供相同的HTML頁面?
也許讀http://stackoverflow.com/questions/10216003/how-to-make-node-js-multi-tenant-for-websites-on- port-80?rq = 1可以給你一個幫助,或者一個起點,但是.. – Ragnarokkr 2013-04-29 01:01:43