【问题标题】:Simple remote server with django使用 django 的简单远程服务器
【发布时间】:2014-03-12 19:21:06
【问题描述】:

我正在学习使用 Django。 我正在关注他们的第一个教程: https://docs.djangoproject.com/en/1.6/intro/tutorial01/

我正在使用以下目录结构创建的 AWS 服务器上运行所有内容。

我尝试运行他们的代码以对浏览器进行简单的代码部署: python manage.py runserver

 it runs without error,but when i go to http://127.0.0.1:8000/  chrome throws error "Oops!      Google Chrome could not connect to 127.0.0.1:8000"

我知道我误解了删除服务器的结构。如果有人能告诉我如何让这个工作,我将不胜感激。

谢谢


(我的目录结构)

/home/PythonFiles# ls -R .: 我的网站

./mysite: manage.py mysite

./mysite/mysite: init.py init.pyc settings.py settings.pyc urls.py wsgi.py wsgi.pyc

【问题讨论】:

  • 为什么不在本地机器上运行呢?
  • 你必须访问你的 AWS IP,而不是本地 IP
  • 获取 AWS 服务器的 IP 并尝试在其中输入一个 :) AWS 可能需要一些其他配置才能面向外部,我不太确定!
  • @Daniel 是的,我可以在本地机器上运行它没问题,但我想学习在服务器上运行它,显然,遇到了一堆“学习时刻”
  • @Weaver 是的,我试过了,但仍然出错,所以我认为您对可访问性的看法是正确的。一切都可以从 /var/www 访问,但当然,我被告知将代码公开到网络是不好的做法,所以我试图了解如何让不在 /var/www 中的代码运行,而不是用户可访问。 :-/

标签: python django


【解决方案1】:

您可以在这篇文章中查看答案:Connecting to EC2 Django development Server

确保通过防火墙设置打开端口 8000

【讨论】:

  • 这是关键! ...我不了解服务器的端口逻辑,我确定 8000 端口访问是问题所在。我了解到我在 /var/www 中放入的任何内容都可以被浏览器访问,但显然我不应该将我的 python 代码放入该文件夹中......所以我试图弄清楚如何将它放在另一个文件夹中目录,但在浏览器中看不到,但仍然运行。我会查看您提供的链接。谢谢。
  • 您为什么要在您的实例上运行开发服务器?一般来说,在您的机器上开发和使用本地主机时会使用开发服务器。如果你想在你的服务器上运行应用程序,你可以部署它(我更喜欢 Apache 和 Django,但你可以使用 nginx 或其他)。
  • 是的,我明白你的意思,我只是想学习如何使用我的服务器,他们的教程专门针对通过我认为应该是远程服务器的服务器运行。值得注意的是,我将 8000 添加到我的自定义 TCP 和 UDP 中,但它仍然失败。 Nvm 不过,我认为你是正确的,我最初的方法是问题的一部分。
  • 是的,我建议查看部署过程。如果您是 Django 新手,这是让应用程序上线的过程的一部分。我没有通过 AWS 部署(我在 Ubuntu 中使用 linode),但我想如果你使用 Apache 作为你的 http 服务器,这个过程与在你的 apache conf 中设置 mod_wsgi 非常相似
【解决方案2】:

你需要AWS服务器的ip地址,然后使用

python manage.py runserver aws.ip.address:8000

并确保 8000 对公众开放。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-05
    • 2010-11-20
    • 2018-08-12
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    相关资源
    最近更新 更多