我目前正在试用Django框架,我将分享/展示/展示一些我制作的东西给我的同事/朋友。我通过VMware在Win7下的Ubuntu工作。所以我的愿望是把我当前的pub IP和端口(例如http://123.123.123.123:8181/django-app/)发送给我的朋友,这样他们可以测试它。
问题是-我使用了django的Dev服务器(python/path to django app/manage.py runserver$IP:$PORT)。
如何公开devserver?
编辑:
哦,有件事我忘了提。不幸的是,我在Ubuntu上使用VMware。我有一个shellscript,它返回我当前的int IP 192.168.xx.xx并将其保存在环境变量($CUR_IP)中 所以,每次我想运行django的devserver时,我只需执行
python /path-to-django-site/manage.py runserver $CUR_IP:8080
这样我就变成了一个http地址(例如http://192.168.40.145:8080/app-name/),可以在虚拟机之外使用。我可以在我的主机(win7)上测试它。这就是我问这个问题的原因。我认为有一种方法可以使用ext IP并使runserver在外部也可用
假设您已经安装了ruby,那么您只需要获得localtunnel:
然后使用以下命令启动python开发服务器:
在另一个shell中,启动localtunnel:
它将输出一个访问本地服务器的url。
就这样。
这将run development server监听端口8181上的所有IP。
注意,从Jun 17, 2011 Django development开始,默认情况下服务器是线程化的(ticket #1609)。
来自文档:
192.168.*.*
是一个局域网专用地址——一旦您使用了适当的VMWare(或其他VM管理器)和防火墙咒语,使它可以从局域网访问,它仍然无法从局域网外部访问,也就是说,从整个互联网(也是一件好事,因为这样的开发服务器不是为安全性和可伸缩性而设计的。要使具有局域网专用IP的计算机的某些端口在整个互联网上可见,您需要一个具有“虚拟服务器”功能的路由器(许多路由器,甚至是便宜的路由器都提供了这种功能,但由于每个品牌都有其独特的方式,所以不可能具体地启用它)。我还建议dyndns或其他类似的服务将一个稳定的DNS名称与您不断变化的公共IP相关联(当然,除非您正从您的连接提供商那里花钱购买一个静态IP,但后一种选择总是变得更昂贵)。
superuser.com或serverfault.com可能会提供更好的答案和详细信息(一旦您给出了问题中配置的每一个小细节),因为问题与软件开发无关,与服务器管理和配置无关。
相关问题 更多 >
编程相关推荐