我只有ssh访问服务器。它来自amazon aws的ubuntu。我上传了我的django项目。当我运行命令python manage.py runserver
或其任何变体时,服务器启动。
但是如您所知,这将不允许我访问Web应用程序 来自我的浏览器,它位于不同的网络上。
我的问题是
通过django的开发服务器或gunicorn将命令发送到runserver之后的方式是什么。我可以在浏览器中输入IP:8000来从外界访问它。
其次我想根据需要打开/关闭IP:8000的访问权限。就像我可以允许访问5分钟然后运行命令来停止来自外界的访问?
答案 0 :(得分:1)
为了访问django项目,您可以使用命令
python manage.py runserver 0.0.0.0:8000
然后您将通过提供IP:8000
注意:Django提供的服务器仅用于开发目的。如果您想要永久托管,您可能希望使用Apache或任何服务器,您可以在其中托管您的项目。希望这可以帮助 。 :)
答案 1 :(得分:1)
您需要在aws ec2实例上分配弹性IP地址(EIP),并允许入站流量0.0.0.0/0
从其安全组端口8000。
然后你应该可以从EIP的每个地方访问它,例如http://54.12.23.34:8000
如果停止ec2实例,EIP可能会产生费用。
答案 2 :(得分:0)
您可能还想尝试命令:
python manage.py runserver [::]:8000
这会将runserver绑定到AWS VM上的所有可用接口。还请注意:runserver实际上只是用于开发。在生产中运行它是一个坏主意。
答案 3 :(得分:0)
您可以使用http://localtunnel.me/,这非常简单,但您只能将它用于开发目的。
答案 4 :(得分:0)
以防万一,你想在80端口上运行它,那么你需要root权限
date -d "`date +\"%Y-%m-04 00:00:00\"`" +%s