Mac OS X网络共享和Django

时间:2009-12-06 00:12:57

标签: django macos

我用Django创建了一个Web应用程序,我在localhost(http://127.0.0.1:8000/)上运行,我的问题是,如何使用Mac OS X的网络共享或其他东西将它提供给全世界?

谢谢!

3 个答案:

答案 0 :(得分:12)

启动服务器时指定public ip或任何ip使用0.0.0.0

示例:

sudo python manage.py runserver 0.0.0.0:80

如果您在没有ip和端口的情况下启动应用程序,那么它的绑定仅用于127.0.0.1的环回,并且无法在您的网络中访问。

答案 1 :(得分:3)

首先,我会强烈建议您不要在Mac上提供网站服务。这是一个非常糟糕的主意™。 Mac OS X网络共享和Django包括http服务器(我假设您正在使用)仅用于测试目的,原因有很多,涉及速度,安全性等。坦率地说,这里发布的时间太长了(但我希望有人会:):

其次,它已向全世界开放:任何人都可以使用您的IP地址而不是环回127.0.0.1连接到您的计算机(除非您是NAT)。同样,这对于测试它(并让你的朋友/同事/老板)测试它暂时非常有用,但同样不适合生产使用。真。

答案 2 :(得分:0)

这取决于你的真正目的是什么,你所说的“世界可用的......或者什么”。如果您确实希望从网络上永久访问它,您需要将其托管在服务器上(无论是共享还是专用),您不会永远打开Mac,是吗? :)

为了在共享主机上托管Django - 我建议使用webfaction,有关设置Django项目的分步教程可以在他们的截屏视频和论坛中找到(基本计划每月9.50美元,两个月退款)保证,实际上工作,尝试自己:)。 Djangofriendly.com

中的更多选项

对于专用服务器,请问自己是否喜欢自己管理整个服务器(操作系统,Web服务器,数据库服务器,内存缓存,防火墙,备份......)。如果答案为“是”,请查看LinodeRackspaceSlicehost甚至amazon web services,但要记住它更贵,但更复杂,但这就是为您提供最大的灵活性。一旦你准备好尝试 - 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提供的以太网电缆,中间没有路由器。重试在浏览器中输入您的ouside IP。作品?好吧,去谷歌“端口转发”,这将告诉你必须配置你的路由器在使用路由器时具有相同的效果。没有?在stackoverflow中提出单独的问题,并尽可能多地提供有关您正在做的事情的详细信息。

如果数据包未正确路由到网络上的计算机,则Mac OS Web共享是无用的。我想它所能做的就是启动apache,并在防火墙中打开一些端口。但是,如果您的个人路由器或ISP不会将外部数据包转发到您的计算机 - 您将无法得到您想要的内容。

祝你好运!