2016-05-29 100 views
0

我使用express和socket.io創建了一個node.js聊天應用程序。它在本地主機上運行,​​其他計算機可以在同一網絡上連接到它。我怎麼能在網上獲得它,因此不同網絡上的人們仍然可以使用它?如何獲取在本地主機上運行的node.js應用程序?

這裏是我的package.json以防萬一它有助於:

{ 
    "name": "Node Chat", 
    "version": "1.0.1", 
    "description": "Simple chat server", 
    "dependencies": { 
    "express": "4.10.2", 
    "socket.io": "1.2.0" 
    } 
} 
+0

你必須使用公共ip在計算機/服務器上加載它。 –

+0

有許多免費的節點託管解決方案 – charlietfl

回答

1

既然你正在使用node.js,我希望你至少有一些網站的經驗,並且你知道他們需要託管在服務器上。你可以自己做,但是因爲你問這個問題,我假設你沒有設備來做這件事。但正如您在文章的評論中提到的,有幾個託管節點應用程序的提供商。他們大多數提供有限的免費服務,如果你爲你和一些朋友製作這個應用程序,這將完全做到這一點。這裏是一個簡短的清單:

你可以找到一個擴展列表here

2

你必須把你的應用程序,可以從開放的互聯網公網IP地址,聯絡的計算機上。如果你希望能夠有一個網址,如http://www.example.com接觸它,那麼需要採取以下步驟:

  1. 發現有,你可以運行你的應用程序可公開訪問的IP地址的服務器。通常,這將是支持node.js應用程序的託管公司的服務器。

  2. 設置一個DNS條目,使您的域名和www前綴指向包含您的服務器進程的正確IP地址。

  3. 以響應端口80請求的方式運行服務器進程。在託管公司,可能需要遵循特定的規則,才能使您所在域的端口80以您想要的方式工作。

你可以實現從自己的本地網絡上的服務器這些步驟,但通常會涉及一幫網絡配置爲「衝」一桿進洞本地防火牆和路由端口80個請求發送到特定服務器(通常使用端口轉發)並允許外部請求到達您的專用網絡上的給定服務器,並且它將涉及一些DNS配置,以允許域名請求與您的專用網絡的公共IP相匹配。由於各種原因,如果這是家庭網絡,通常不推薦使用此配置。

相關問題