答案 0 :(得分:86)
答案 1 :(得分:10)
假设你安装了ruby,你只需要获得localtunnel:
gem install localtunnel
然后用:
启动你的python开发服务器python manage.py runserver 0.0.0.0:8000
在另一个shell中,启动localtunnel:
localtunnel -k ~/.ssh/id_rsa.pub 8000
这将输出一个URL来访问您的本地服务器。
Port 8000 is now publicly accessible from http://xxxx.localtunnel.com
就是这样。
答案 2 :(得分:4)
答案 3 :(得分:2)
已经回答,但添加了相同localtunnel的npm替换
sudo npm install -g localtunnel
lt --port 8000 --subdomain yash
答案 4 :(得分:1)
如果您使用的是Virtualbox,则需要将VB中的网络设置从“NAT”更改为“桥接适配器”。然后重启linux。现在,如果您运行sudo ifconfig
,则可以看到您的IP地址,如192.168.*.*
。最后一步是runserver
python manage.py runserver 192.168.*.*:8000
干杯!
答案 5 :(得分:1)
我必须将此行添加到settings.py才能使其正常工作(否则从其他计算机访问时会显示错误)
ALLOWED_HOSTS = ['*']
然后用:
运行服务器python manage.py runserver 0.0.0.0:9595
答案 6 :(得分:0)
答案 7 :(得分:0)
我建议您尝试使用pyngrok
之类的程序来为您管理ngrok
隧道吗?完全公开,我是它的开发者。 Django示例here,但就像安装pyngrok
一样简单:
pip install pyngrok
并使用它:
from pyngrok import ngrok
# <NgrokTunnel: "http://<public_sub>.ngrok.io" -> "http://localhost:8000">
http_url = ngrok.connect(8000)
不会弄乱端口,防火墙或IP地址,现在您还可以检查流量(这非常有用,因为您在这里进行的是正在进行的开发,而不是运行prod
就绪的服务器)。 / p>
答案 8 :(得分:0)
或者,您可以使用cotunnel,只需在Ubuntu中运行cotunnel(在VMware中),即可在cotunnel仪表板中更改隧道端口,即在本地使用的端口。它提供了公共网址,您可以与朋友共享该网址。
您的Django服务器可以侦听127.0.0.1或0.0.0.0(我更喜欢0.0.0.0),这对协通无关紧要。