【问题标题】:Which server Django is using?Django 正在使用哪个服务器?
【发布时间】:2017-11-23 17:03:32
【问题描述】:

安装好Django之后,我们使用命令:

python manage.py runserver 

我们可以运行一个服务器,但是我不知道服务器是哪个服务器,我搜索了django目录,发现服务器不在目录中:

aircraftdeMacBook-Pro:Django-1.11.2-py2.7.egg ldl$ cd django/
aircraftdeMacBook-Pro:django ldl$ ls
__init__.py bin     dispatch    shortcuts.pyc   utils
__init__.pyc    conf        forms       template    views
__main__.py contrib     http        templatetags
__main__.pyc    core        middleware  test
apps        db      shortcuts.py    urls

所以,我有两个问题:

  1. 服务器是哪个网络服务器,如何找到它的位置?
  2. 如果我们完成应用程序,如果我们使用 web-server 作为 python-web 的 web-server(意味着为什么不使用 apache 或 nginx)?
  3. 端口默认是8000,怎么改成80?

【问题讨论】:

    标签: python django server


    【解决方案1】:

    Django runserver 是一个本地开发服务器,不应在生产环境中使用...APACHE 和 NGINX 是不同的东西。

    Django 提供了一个简单的WSGI server 作为开发服务器。

    我猜你还没有查看 django 文档,因为你正在寻找的是正确的 here

    使用不同端口和地址的示例¶

    IP 地址 127.0.0.1 上的端口 8000:

    django-admin runserver IP 地址 1.2.3.4 上的 8000 端口:

    django-admin runserver 1.2.3.4:8000 IP 地址 127.0.0.1 上的端口 7000:

    django-admin 运行服务器 7000

    【讨论】:

      【解决方案2】:

      1) Django 提供了一个默认的 wsgi 服务器,正如@sach20 提到的那样。

      2) django 服务器应该用于开发。我个人使用 nginx 和 gunicorn 来运行我的服务器。您可以在此处找到有关如何设置的教程: Tutorial

      3) 你可以运行:

      python manage.py runserver 0.0.0.0:80

      您可以将 80 替换为您想使用的任何端口。

      【讨论】:

      • 这与我的回答有何不同?
      • @WilomGfx 不是。我在你提交之后才提交。
      【解决方案3】:

      Django 提供了一个默认的 wsgi 开发服务器

      【讨论】:

      • 所以,我不能用它作为python的分布式网络服务器,好吗?我怎样才能找到它的位置?
      猜你喜欢
      • 2013-06-16
      • 2011-06-23
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2021-07-16
      • 1970-01-01
      相关资源
      最近更新 更多