一一回答你的问题:
1) Where do I install what
您应该拥有一台 server 机器,您可以从 Amazon、DigitalOcean 等人质提供商之一获得该机器。 Web 服务器(Apache/Nginx)、应用服务器(Gunicorn)和 Django 必须安装在服务器机器上,以及站点运行所需的数据库插件或其他软件包。
客户端不需要任何东西,只要一个浏览器,就可以通过 URL 访问应用程序。
2) Is Django an app or a server
两者都不是。 Django 是一个 Web 框架,它有助于更轻松地创建高效且健壮的 Web 应用程序。作为框架的一部分,它还提供了一个测试服务器,我们通过命令来运行它:
python manage.py runserver
当您在生产环境中运行应用程序时,无法使用此测试服务器,原因如下:
1) 如果发生任何错误,错误的完整轨迹会显示在客户端的浏览器中,从而暴露关键数据。
2) 测试服务器有一个接收到的所有请求的日志,与数据库的所有通信等,这在生产环境中可能会浪费太多空间。
3) Can I use Nginx:
是的,你绝对可以使用 Nginx。
并为您简要介绍 Nginx 和 Django 的通信方式:
1) Nginx 被称为 Web 服务器。默认情况下,此 Web 服务器侦听端口 80 以获取 HTTP 请求。
假设我们向 myexample.com 发出请求
2)我们在文件夹中为该机器托管的每个域都有一个配置文件:
/etc/nginx/sites-enabled/
在这里,我们指定了当请求到达该特定域时服务器应查找的位置。现在,如果站点只包含普通的 HTML、CSs 页面,我们指定指向该域的索引文件的路径。由于我们的是 django 应用程序,因此我们必须指定 Application Server 运行的端口。
3) Gunicorn 是应用程序服务器,根据 Nginx 的请求提供 django 模板。 Nginx 根据配置将请求转发到 Gunicorn 运行所在的端口。
4) Gunicorn 调用特定视图(通过 URL 查找),获取要执行的视图并将视图返回给 Nginx 的任何内容返回。
5) Nginx 将 Gunicorn 返回的数据返回给客户端。
希望对你有帮助