我是 django/apache 环境的新手。我正在准备使 django 应用程序正常运行所必需的服务列表。
我只能想到其中的两个。
1) mysqld -> mysql 守护进程。
2) apache2 -> apache 守护进程。
您能否建议是否需要任何其他服务,否则 django 应用程序无法运行?
我是 django/apache 环境的新手。我正在准备使 django 应用程序正常运行所必需的服务列表。
我只能想到其中的两个。
1) mysqld -> mysql 守护进程。
2) apache2 -> apache 守护进程。
您能否建议是否需要任何其他服务,否则 django 应用程序无法运行?
您还需要安装 apache2 mod-wgsi:
$ sudo apt-get install libapache2-mod-wsgi
你必须启用 apache2 服务:
$ sudo a2enmod mod-wsgi
并禁用默认站点并传递给 apache2 配置和其他
django 是一个框架;一组允许您创建 Web 应用程序的工具 - 任何类型的 Web 应用程序。
没有所需的服务清单;但是如果您从系统管理的角度提出问题;支持典型的Python Web 应用程序需要什么:
你需要一个兼容 WSGI 的运行时。mod_wsgi
如果您使用的是 Apache,则可能是这样;gunicorn 或 uwsgi。
如果您不使用mod_wsgi
(其流程由 Apache 控制),您可能需要一个流程管理器。
您需要一个能够为应用程序托管静态资产的 Web 服务器。这可以是 Apache、nginx、lighttpd 或任何其他有能力的 Web 服务器。
大多数应用程序也会有某种数据库。这是什么数据库,将取决于应用程序及其要求(并非所有数据库都支持 django ORM 的所有功能)。因此,您必须检查每个单独的应用程序。您可以选择提供“标准”布局;例如 MySQL 版本 xx.yy。也可能是应用程序正在使用外部托管服务器;在这种情况下,您的工作只是提供与远程主机的连接。
如果你能处理好上述 4 个问题,你就有了一个标准布局,可以托管大多数基于 Python WSGI 的 Web 应用程序。
请记住,尽管 Python 3 已广泛使用;大多数库仍在移植过程中,因此确保您的服务器同时提供 Python 2.7 和 Python 3 运行时非常重要。
您还应该确保 Python(以及您支持的数据库服务器)的开发标头可用 - 如果 Python 应用程序在虚拟环境中运行(因为这是最佳实践),这很重要,因为需要编译驱动程序对于每个虚拟环境。这同样适用于任何已编译的库(如 PIL)。
Django 在文档中有一个很好的部署部分来帮助具体说明。