Django - 如何在生产服务器上运行?

3

我刚接触Django项目。我已将我的应用程序移动到生产服务器并运行它:

$ python manage.py runserver
>>> Starting gulp watch
>>> gulp watch gulp process on pid 30427
Validating models...

0 errors found
May 18, 2017 - 15:57:08
Django version 1.5.12, using settings 'website.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

但是它是一个生产服务器,有一个IP地址,例如:119.237.27.131

所以它不能在http://127.0.0.1:8000/上运行

那么我该怎么做才能让应用程序在http://119.237.27.131:8000/上运行呢?

有什么想法吗?

顺便问一下,'website.settings'在哪里?

编辑:

当我在http://119.237.27.131:8000/检查应用程序时,出现了以下错误:

无法访问此网站

119.237.27.131拒绝连接。


http://127.0.0.1 基本上意味着“这台机器”,因此它正在运行在 119.237.27.131 上。 - Jonas Grumann
@JonasGiuro,但是当我在http://119.237.27.131:8000/上检查它时,我的浏览器会显示错误 - “无法访问此网站 119.237.27.131拒绝连接。”我还有什么遗漏的吗? - Run
4
  1. Django 1.5已经不再获得支持很长时间了,你应该更新到一个受支持的版本。
  2. manage.py runserver是一个开发服务器,不应该用于生产环境。使用适当的WSGI服务器,如Apache/mod_wsgi、Gunicorn或uwsgi。请参见How to deploy with WSGI
- knbk
@knbk 我接手了这个 Django 项目。它不是我开发的,而且我对 Django 的了解也不多。所以我认为最好保持现状。 - Run
1个回答

7
如果您没有任何参数启动开发服务器,则服务器将在本地主机:8000上启动,但无法从机器外部访问。为了允许外部访问,您应该像这样启动服务器:
python manage.py runserver 0.0.0.0:8000

这将允许您从另一台计算机连接,使用该计算机的IP地址,如http://119.237.27.131:8000/

一个警告:开发服务器不是生产就绪的服务器。 您应该使用像Gunicorn或其他工具的WSGI服务器来提供您的应用程序。 不要在生产环境中使用开发服务器,它不安全!! 点击此处了解更多信息。


谢谢你的回答。我已经安装了 Gunicorn,但是如何使用它来运行应用程序呢? - Run
顺便问一下,如何检查 Gunicorn 是否正确安装?为什么我会得到这个 $ gunicorn --version 的提示:程序“gunicorn”当前未安装。您可以通过输入以下命令进行安装:sudo apt install gunicorn - Run
1
your_project_folder/your_project_name/wsgi.py,它与你的 settings.py 模块在同一个文件夹中。据我所知,Django 会生成这个文件,里面包含了启动应用程序所需的所有内容,通常情况下无需修改。但有一些开发工具会更改此过程。 - fixmycode
1
你之所以会得到这个错误,是因为你还没有安装Gunicorn。 - fixmycode
谢谢。这是我如何安装 pip install gunicorn,但为什么它要求我使用 sudo apt install gunicorn 再次安装呢?这太令人困惑了! - Run
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接