安装 Python 和 Django - 在哪里?
Install Python and Django - WHERE?
关于这个问题,我已经阅读了大量的安装指南并观看了几个 You-tube。他们都很棒,但是 none 告诉我作为一个完全的新手 Python/Django 是如何工作的。
The first question is: Where should I install what? On my client computer (Mac) or my server (Debian)? Or both?
Second question: What is Django? A server or an app? The word framework tells me nothing how it works.
Third question: And many instructions assume that you want to use Apache. What if I want to use nginx? Possible?
我的猜测是 Apache/nginx 在启动时加载 Python 语言?并以某种方式被 Django 使用?
如果之前有人问过这个愚蠢的问题,我深表歉意,但我没有在任何地方找到任何线索。
Python、django 和 apache/nginx 应该安装在服务器上。
可选且理想情况下,python 和 django 应在您创建站点时安装在您的开发计算机上。这将允许您在开发时对其进行测试。 client/development 机器上不需要 apache/nginx 因为 django 可以 运行 它自己的本地测试服务器
客户端计算机上不需要安装 python 和 django
Django 允许您为您的网站构建服务器端后端。 HTML/Javascript/CSS 将允许您开发前端(用户在访问网站时看到的内容和与之交互的内容),但 django 处理服务器端的所有内容。因此在那里处理繁重的计算,连接到数据库、storing/retrieving 数据库信息、网站不同页面之间的路由等。
Python 实际上可以处理所有这些事情,所以从技术上讲你不需要 django,但它存在的原因是提供一个统一的 "framework",或者更容易、紧凑的方法并有效地完成上述所有工作
是的,您可以将 django 与 nginx 一起使用。这样的事情会起作用:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
要概括性地回答您的最后一个问题:您的服务器已安装 python。在特定端口(您指定)上创建并 运行 一个 django 实例,该实例使用 python 安装。最终,这使 server/local 机器能够访问您的 django app/website。但在现实世界中,您希望其他用户也能够访问您的 app/site。这就是像 apache 或 nginx 这样的网络服务器的用武之地。它们为外界提供了一种访问您的 django 实例的方法
您还需要一个叫做 wsgi 服务器的东西。我上面提供的 link 使用 uwsgi,替代它的是 gunicorn。此处提供的另一个答案让您很好地了解它的作用,但它本质上位于 django 和 nginx/apache/your 网络服务器之间,并在两者之间传递信息
那么你的服务器需要什么:python、django、wsgi 服务器(uwsgi、gunicorn)、web 服务器(nginx、apache)。
客户不需要任何这些东西
一台开发机器只需要 python 和 django(运行 是它自己的测试服务器)
一一解答您的问题:
1) Where do I install what
你应该有一台 server
机器,你可以从 Amazon、DigitalOcean 等人质供应商那里获得,e.t.c。 Web 服务器(Apache/Nginx)、应用程序服务器(Gunicorn)和 Django 必须安装在服务器机器上,以及站点 运行.[=17 所需的数据库插件或其他包=]
客户端只需一个浏览器即可通过 URL.
访问应用程序
2) Is Django an app or a server
两者都不是。 Django 是一个 Web 框架,可帮助更轻松地创建高效且健壮的 Web 应用程序。作为框架的一部分,它还提供了一个测试服务器,我们运行通过命令:
python manage.py runserver
当您在生产环境中 运行 应用程序时,无法使用此测试服务器,原因如下:
1) 如果出现任何错误,错误的完整踪迹将显示在客户端浏览器中,这会暴露关键数据。
2) 测试服务器有所有收到的请求的日志,所有与数据库的通信,e.t.c,这在生产环境中可能会浪费太多space。
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
运行s.
所在的端口
3) Gunicorn 是应用程序服务器,根据 Nginx 的请求提供 django 模板。 Nginx 根据配置将请求转发到 Gunicorn 运行的端口。
4) Gunicorn 调用特定视图(通过 URL 查找),获取要执行的视图并 returns 无论视图 returns 到 Nginx。
5) Nginx returns Gunicorn返回给客户端的数据
希望对您有所帮助
关于这个问题,我已经阅读了大量的安装指南并观看了几个 You-tube。他们都很棒,但是 none 告诉我作为一个完全的新手 Python/Django 是如何工作的。
The first question is: Where should I install what? On my client computer (Mac) or my server (Debian)? Or both?
Second question: What is Django? A server or an app? The word framework tells me nothing how it works.
Third question: And many instructions assume that you want to use Apache. What if I want to use nginx? Possible?
我的猜测是 Apache/nginx 在启动时加载 Python 语言?并以某种方式被 Django 使用?
如果之前有人问过这个愚蠢的问题,我深表歉意,但我没有在任何地方找到任何线索。
Python、django 和 apache/nginx 应该安装在服务器上。
可选且理想情况下,python 和 django 应在您创建站点时安装在您的开发计算机上。这将允许您在开发时对其进行测试。 client/development 机器上不需要 apache/nginx 因为 django 可以 运行 它自己的本地测试服务器
客户端计算机上不需要安装 python 和 django
Django 允许您为您的网站构建服务器端后端。 HTML/Javascript/CSS 将允许您开发前端(用户在访问网站时看到的内容和与之交互的内容),但 django 处理服务器端的所有内容。因此在那里处理繁重的计算,连接到数据库、storing/retrieving 数据库信息、网站不同页面之间的路由等。
Python 实际上可以处理所有这些事情,所以从技术上讲你不需要 django,但它存在的原因是提供一个统一的 "framework",或者更容易、紧凑的方法并有效地完成上述所有工作
是的,您可以将 django 与 nginx 一起使用。这样的事情会起作用:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
要概括性地回答您的最后一个问题:您的服务器已安装 python。在特定端口(您指定)上创建并 运行 一个 django 实例,该实例使用 python 安装。最终,这使 server/local 机器能够访问您的 django app/website。但在现实世界中,您希望其他用户也能够访问您的 app/site。这就是像 apache 或 nginx 这样的网络服务器的用武之地。它们为外界提供了一种访问您的 django 实例的方法
您还需要一个叫做 wsgi 服务器的东西。我上面提供的 link 使用 uwsgi,替代它的是 gunicorn。此处提供的另一个答案让您很好地了解它的作用,但它本质上位于 django 和 nginx/apache/your 网络服务器之间,并在两者之间传递信息
那么你的服务器需要什么:python、django、wsgi 服务器(uwsgi、gunicorn)、web 服务器(nginx、apache)。 客户不需要任何这些东西 一台开发机器只需要 python 和 django(运行 是它自己的测试服务器)
一一解答您的问题:
1) Where do I install what
你应该有一台 server
机器,你可以从 Amazon、DigitalOcean 等人质供应商那里获得,e.t.c。 Web 服务器(Apache/Nginx)、应用程序服务器(Gunicorn)和 Django 必须安装在服务器机器上,以及站点 运行.[=17 所需的数据库插件或其他包=]
客户端只需一个浏览器即可通过 URL.
访问应用程序2) Is Django an app or a server
两者都不是。 Django 是一个 Web 框架,可帮助更轻松地创建高效且健壮的 Web 应用程序。作为框架的一部分,它还提供了一个测试服务器,我们运行通过命令:
python manage.py runserver
当您在生产环境中 运行 应用程序时,无法使用此测试服务器,原因如下:
1) 如果出现任何错误,错误的完整踪迹将显示在客户端浏览器中,这会暴露关键数据。
2) 测试服务器有所有收到的请求的日志,所有与数据库的通信,e.t.c,这在生产环境中可能会浪费太多space。
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
运行s.
3) Gunicorn 是应用程序服务器,根据 Nginx 的请求提供 django 模板。 Nginx 根据配置将请求转发到 Gunicorn 运行的端口。
4) Gunicorn 调用特定视图(通过 URL 查找),获取要执行的视图并 returns 无论视图 returns 到 Nginx。
5) Nginx returns Gunicorn返回给客户端的数据
希望对您有所帮助