2009-12-06 105 views

回答

3

首先,我會強烈建議你不要從您的Mac提供的網站。這是一個非常糟糕的主意™。 Mac OS X網絡共享和Django的包括http服務器(我假設您使用的)僅用於測試目的,其原因有很多,涉及速度,安全性等。 (但我希望有人願意:)

其次,它已經向世界開放:任何人都可以使用您的IP地址連接到您的計算機而不是環回127.0.0.1(除非您被NAT)。再次,這對測試它非常有用(並且讓你的朋友/同事/老闆)暫時對其進行測試,但又不適合生產使用。真。

+0

爲什麼OSX網絡共享不好? - 它是apache – Mark 2009-12-06 00:21:24

+0

從django包含的http服務器是不好的?什麼是替代? – Johannes 2009-12-06 00:23:30

+0

Johannes,Django **開發**服務器僅用於開發,這在*文檔*中一次又一次地被強調。有關生產部署方法,請參閱http://docs.djangoproject.com/zh/dev/howto/deployment/#howto-deployment-index – 2009-12-06 12:45:26

12

當你啓動服務器指定的公網IP或任何IP使用0.0.0.0

例子:

sudo python manage.py runserver 0.0.0.0:80

如果沒有IP和端口綁定其僅作迴路啓動應用程序這是127.0.0.1,並且不能在您的網絡中訪問。

0

這取決於你的真正目的是什麼,你的意思是「可用於世界......或某事」。如果您確實希望能夠通過網絡永久訪問它,您需要將其託管在服務器上(無論它是共享的還是專用的),您將永遠不會讓Mac打開,是嗎? :)

在共享主機上託管Django - 我建議使用webfaction,關於設置Django項目的分步教程可以在他們的截屏視頻和論壇中找到(基本計劃每月9.50美元,兩個月退款保證,其實際工作,嘗試自己:)。 Djangofriendly.com

對於專用服務器,問問自己是否喜歡自己管理整個服務器(操作系統,Web服務器,數據庫服務器,memcache,防火牆,備份等)。如果答案是「是」,請查看Linode,RackspaceSlicehost或甚至,但請記住它更昂貴,方式更復雜,但這就是最大的靈活性。一旦準備好嘗試 - this is one of the best tutorials i've found in net for a given subject

如果您需要的只是一個概念證明,那麼「無論我可以從我的網絡瀏覽器訪問,應該可以從世界任何地方訪問」,請詢問您的ISP是否獲得私有IP地址。如果沒有,嗯,最好去上面提到的選項:)如果你這樣做,然後通過訪問whatismyipaddress.com找出它是什麼IP。然後按照Prashanth的建議啓動Web服務器,然後在瀏覽器中輸入whatismyip.org的IP地址。一無所獲? a)關閉MacOSx的防火牆。依然沒有? b)將您的Mac直接連接到ISP提供的以太網電纜,而無需路由器。重試在瀏覽器中輸入您的IP地址。作品?很好,去谷歌「端口轉發」,這將告訴你必須配置您的路由器使用路由器時具有相同的效果。沒有?在stackoverflow中提出單獨的問題,並儘可能詳細地提供你正在做的事情。

Mac os如果數據包未正確路由到網絡上的計算機,則Web共享不起作用。我想它能做的只是啓動apache,並在防火牆中打開一些端口。但是如果你的個人路由器或ISP不會將外部數據包轉發到你的計算機 - 你將無法得到你想要的。

祝你好運!