在MS Windows上调出Django堆栈

图片



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



值得注意的是,安装和配置将在32位的MS Windows 10中进行。同样,32位反应将是通用的,并且将在64位体系结构上工作。如果需要64位安装,请对64位程序分发重复相同的步骤,操作顺序将相同。



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



蟒蛇



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



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







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







选中“ pip”,“ py启动器”,“对于所有用户(需要提升)”复选框,然后单击“下一步”。







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







要验证安装是否成功,请打开cmd并键入python。如果安装成功,您将看到类似于以下内容的提示







安装mod_wsgi





www.lfd.uci.edu/~gohlke/pythonlibs下载已编译的mod_wsgi软件包该模块充当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








阿帕奇



从网站https://www.apachelounge.com/download/下载分发工具包

Web服务器的最新版本是Apache 2.4.46 win32 VS16。此外,为使程序正常运行,您需要预安装的程序包``Visual Studio 2019 x86的Visual C ++可再发行组件''。



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



Define SRVROOT "C:/severcart/Apache24"




我们通过在命令行中执行来检查Apache的操作



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




结果,您应该在浏览器的127.0.0.1处看到“它有效!”行。







安装Apache服务,为此,我们代表管理员在命令行上执行指令:



C:\severcart\Apache24\bin>httpd.exe -k install -n "Apache24"




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

C:\Windows\system32>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:\ severcart \ Apache24 \ conf \ extra \ httpd-wsgi.conf,然后复制并粘贴上面的打印行。



将新配置连接到主httpd.conf文件

包括conf / extra / httpd-wsgi.conf



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

Net stop Apache24
Net start Apache24




PostgreSQL的



从站点https://postgrespro.ru/windows安装PostgreSQL 该软件产品的当前版本为12。在同一站点上显示了俄语发行版相对于规范发行版的优势。











































上面介绍了安装步骤,无需注释。安装非常简单。



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



C:\severcart\postgresql\bin>psql -h 127.0.0.1 -U postgres -W

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








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



安装Web应用程序



为此,请从站点https://www.severcart.ru/downloads/下载zip存档,并将其解压缩到C:\ severcart \ app \目录中







,然后对主配置文件C:\ severcart \ app \ conf \ settings_prod.py进行更改。数据库连接详细信息







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



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



C:\severcart\app\tkinstaller>python install.py








在脚本操作过程中,将使用表,约束,索引和其他初始化数据库,并提供创建用户的权限,该用户将代表该程序进行操作。



为此,我们将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服务并测试该应用程序







谢谢阅读。



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



All Articles