无法在本地部署django应用程序

时间:2016-06-23 09:03:24

标签: python django heroku

更新:我似乎已经取得了一些进展,但尚未解决主要问题。目前,我可以访问here所描述的任务,然后这将在我的本地服务器中产生一些输出(具体来说,它会抱怨腌制内容,但这感觉就像以后的另一个问题)。

然后我尝试telnet localhost 5000并成功连接到localhost。虽然几秒钟之后,我得到了Connection closed by foreign host.不完全确定这意味着什么,虽然它可能含糊不清 - 但我仍然无法通过浏览器访问。

我有一个django应用程序,我目前正在Heroku上部署,一切都在那里工作正常。

但是,我正在努力添加一些新内容,我已将其他各种内容整合到应用程序中(redis,Celery)。在Heroku上部署之前,我想在本地部署它并测试它。我尝试使用heroku local概述here来尝试这样做。我是通过运行el capitan的mac来做这件事的 - 然而,当我尝试访问localhost:5000时,我收到错误,因为请求超时,无法访问该页面。

一些相关的代码和输出:

运行heroku local时,我在终端中获得以下内容:

(venv) computer:dynamicapp $ heroku local
[OKAY] Loaded ENV .env File as KEY=VALUE Format
2:17:52 PM web.1    |  [2016-06-23 14:17:52 +0530] [6188] [INFO] Starting gunicorn 19.4.1
2:17:52 PM web.1    |  [2016-06-23 14:17:52 +0530] [6188] [INFO] Listening at: http://0.0.0.0:5000 (6188)
2:17:52 PM web.1    |  [2016-06-23 14:17:52 +0530] [6188] [INFO] Using worker: sync
2:17:52 PM web.1    |  [2016-06-23 14:17:52 +0530] [6194] [INFO] Booting worker with pid: 6194
2:18:04 PM worker.1 |  [path-to-directory]/venv/lib/python2.7/site-packages/celery/fixups/django.py:265: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
2:18:04 PM worker.1 |    warnings.warn('Using settings.DEBUG leads to a memory leak, never '
2:18:04 PM worker.1 |  [2016-06-23 08:48:04,110: WARNING/MainProcess] [path-to-directory]/dynamicapp/venv/lib/python2.7/site-packages/celery/fixups/django.py:265: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
2:18:04 PM worker.1 |    warnings.warn('Using settings.DEBUG leads to a memory leak, never '
2:18:04 PM worker.1 |  [2016-06-23 08:48:04,111: WARNING/MainProcess] celery@computer.local ready.

我的Procfile:

web: gunicorn dynamicapp.wsgi --log-file -
worker: celery worker --app=dynamicapp.celery.app

如果有帮助,我可以粘贴我的各种python模块(芹菜, init .py等),但似乎网络和工作人员正在开始?但由于某种原因,我无法在5000端口访问应用程序。

使用其他信息进行修改:

我尝试过从Chrome和Safari连接,Safari告诉我它无法连接到服务器" 0.0.0.0"。可能相关地,似乎Chrome和Safari都强迫它通过https进行连接 - 这可能会破坏它吗?

1 个答案:

答案 0 :(得分:0)

0.0.0.0是一个特殊地址。在此上下文中,它表示"本地计算机上的所有IPv4地址" ,即:服务器将接受与计算机所具有的任何IP地址的端口5000的连接。

因此,您可以使用http://127.0.0.1:5000http://<the ip you got from your router>:5000

连接到它