在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

本文将提供安装和配置 Apache、Python 和 PostgreSQL 程序的详细说明,以确保 Django 项目在 MS Windows 上运行。 Django 已经包含一个用于本地测试代码的轻量级开发服务器,但与生产相关的任务需要更安全、更强大的 Web 服务器。 我们将设置 mod_wsgi 与我们的项目交互,并将 Apache 设置为通往外部世界的网关。

需要注意的是,安装和配置将在 10 位 MS Windows 32 中进行。 此外,32 位反应将是通用的,并且可以在 64 位架构上运行。 如果您需要 64 位安装,请对 64 位软件发行版重复相同的步骤,操作顺序将相同。

作为 Django 项目,我们将使用 Severcart 程序。 它旨在管理墨盒的移动、记录打印设备以及供应和服务合同。 所有程序和模块都将安装在 C:severcart 目录中。 位置并不重要。

蟒蛇

第一步是从 Python 网站下载并安装 Python。 我们选择Windows作为操作系统,并且选择32位版本。 在撰写本文时,当前版本是 3.9.0rc2。

下载安装文件后,右键单击安装文件并选择“以管理员身份运行”。 您应该看到下面的屏幕

在 MS Windows 上提升 Django 堆栈

设置复选框“安装启动程序以添加用户(推荐)”和“将 Python 3.9 添加到 PATH”旁边的复选框,然后单击“自定义安装”。

在 MS Windows 上提升 Django 堆栈

设置“pip”、“py launcher”、“对于所有用户(需要提升)”的复选框,然后单击“下一步”。

在 MS Windows 上提升 Django 堆栈

选择上图所示的所有输入字段,然后单击“安装”。

在 MS Windows 上提升 Django 堆栈

要验证安装是否成功,请打开cmd并输入python。 如果安装成功,您应该会看到类似于以下的提示。

在 MS Windows 上提升 Django 堆栈

安装 mod_wsgi

从网站下载mod_wsgi编译好的包
www.lfd.uci.edu/~gohlke/pythonlibs。 该模块充当 Apache 服务器和 Django 项目之间的中介。 最新的软件包将命名为 mod_wsgi-4.7.1-cp39-cp39-win32.whl。 请注意,该包是针对 32 位 Windows CPython 版本 3.9 编译的。 还值得注意的是,pip install mod_wsgi 模块的明显安装可能会失败,因为安装过程需要 Visual Studio C++ 编译器。 我们认为完全为了 Windows 上的一个 Python 包而安装编译器是不明智的。

在 cmd 或 powershell 中使用标准 pip 包管理器安装模块:

pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

在 MS Windows 上提升 Django 堆栈

阿帕奇

从网站下载分发包 https://www.apachelounge.com/download/.
Web服务器的最新版本是Apache 2.4.46 win32 VS16。 此外,为了使程序正常工作,您需要预安装包“Visual C ++ Redistributable for Visual Studio 2019 x86”。

我们将Apache发行版解压到C:severcartApache24目录中,然后将数字37的行更改为我们自己的

Define SRVROOT "C:/severcart/Apache24"

我们通过在命令行执行来检查Apache的运行情况

C:/severcart/Apache24/bin> httpd.exe

因此,您应该在浏览器中看到 127.0.0.1 “它有效!”这一行。

在 MS Windows 上提升 Django 堆栈

安装 Apache 服务,为此,请以管理员身份在命令行上执行指令:

C:severcartApache24bin>httpd.exe -k install -n "Apache24"

接下来,我们将 mod_wsgi 模块连接到 Apache。 为此,请在命令行上执行指令

C:Windowssystem32>mod_wsgi-express module-config

这会将以下行打印到标准输出:

LoadFile "c:/severcart/python/python39.dll"
LoadModule wsgi_module "c:/severcart/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win32.pyd"
WSGIPythonHome "c:/severcart/python"

创建文件 C:severcartApache24confextrahttpd-wsgi.conf 并将上面打印的行复制粘贴到此处。

我们将新配置连接到主 httpd.conf 文件
包含conf/extra/httpd-wsgi.conf

保存更改,重新启动 Apache 服务

Net stop Apache24
Net start Apache24

PostgreSQL的

安装从网站获取的 PostgreSQL https://postgrespro.ru/windows。 该软件产品的当前版本是 12。俄罗斯发行版相对于规范发行版的优势在同一站点上有所展示。

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

在 MS Windows 上提升 Django 堆栈

安装步骤如上所示,无需注释。 安装非常简单。

我们在postgres中创建一个数据库,其中将存储Django项目的数据结构

C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W

CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

在 MS Windows 上提升 Django 堆栈

数据库已创建。 现在让我们部署 Django 项目。

安装网络应用程序

为此,请从网站下载 zip 存档 https://www.severcart.ru/downloads/ 并解压到C:severcartapp目录

在 MS Windows 上提升 Django 堆栈

我们对主配置文件C:severcartappconfsettings_prod.py进行更改,以指定数据库连接详细信息

在 MS Windows 上提升 Django 堆栈

Python 字典 DATABASES 包含数据库连接详细信息。 在此处阅读有关设置的更多信息。 https://docs.djangoproject.com/en/3.1/ref/databases/#connecting-to-the-database

安装 Python 功能包以在 Django 项目中运行应用程序

C:severcartapptkinstaller>python install.py

在 MS Windows 上提升 Django 堆栈

在脚本运行期间,数据库将使用表、结构、索引等进行初始化,并且将建议创建一个用户,将代表该用户在程序中执行工作。

我们将 Django 应用程序连接到 Apache 服务器,为此我们补充配置文件
httpd-wsgi.conf 包含以下文本

Alias /static "c:/severcart/app/static"

Alias /media "c:/severcart/app/media"

<Directory "c:/severcart/app/static">
    # for Apache 2.4
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<Directory "c:/severcart/app/media">
    # for Apache 2.4
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>


WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"

<Directory "c:/severcart/app/conf/">
<Files wsgi_prod.py>
    Require all granted
</Files>   
</Directory>

重新启动 Apache 服务并测试应用程序

在 MS Windows 上提升 Django 堆栈

就这样。 感谢您的阅读。

在下一篇文章中,我们将在InnoSetup中创建安装自解压存档,以便在客户计算机上快速部署Django项目。 对于那些想要重复所有步骤的人 Yandex磁盘 所有使用的发行版均已加载。

来源: habr.com

添加评论