Django项目在Windows环境的部署(django项目部署到服务器 windows)

Django项目在Windows环境的部署(django项目部署到服务器 windows)

精选文章moguli202025-02-04 12:55:4627A+A-

Django框架自带的这个开发服务器用来调试 Django应用程序非常方便,但是这个服务器能在本地环境中运行,不能承受由多个用户同时访问网站所产生的负载。因此,需要将 Django用程序部署到生产级Web 服务器,比如 Apache、Nginx、Lighttpd、IIS等。

Python Web项目的部署是一个相对烦的过程尤其在Windows下部署 Django项目。为了简化部署过程同时为了使Windows下的开发者能够轻松地使自己项目上线,将重点闸述如何使用 Windows 提供的IIS服务器来实现快速高效的项部署,部署平台为Windows系统。

1.1本地服务器部署

1.1.1Python WSGI 部署原理介绍

在进入正式的部署前,先简单了解一下 Python web项目部署的基本原理,其核心依赖被称为WSGI的框架协议。

WSGI是建立在 CGI的基础上的,CGI的全称是 Common Gateway Interface,即“通用网关接口”,而 WSGI就是只针对 Python 的网页应用接口 Python Web Server GatewaInterface。WSGI只是一个接口定义,它不负责服务器的实现,也不负责网页应用的实现,它只是一个两边接口方式的约定,只是一种规范,描述 Web 服务器如何与 Web 应用通信的规范。要实现 WSGI协议,必须同时实现 Web 服务器和 Web 应用,简单来说,WSGI规范了一种简单的接口,将服务器和应用分开来,使得两边的开发者能够更加专注自身的开发。

WSGI协议主要包括Web服务器和应用两部分:

(1)web服务器:即HTTP服务器,按照HTTP接收用户HTTP用户请求并提供并发访问,调用web应用处理业务逻辑。通常web服务器采用C/C++编写,典型的web服务器有:Apache、Nginx和IIS。WSGI服务器负责从客户端接收请求request,然后将request转发给应用,处理完之后再将应用返回的response返回给客户端。

(2)python web 应用:应用程序接收由服务器转发的request处理对应的请求,并将处理的结果返回给服务器。应用中可以包括多个栈是的中间件middlewares,主要起调节作用。

1.1.2准备部署环境

Diango项目开发完成后需要了解此项目所依赖的库有哪些,从而方便在其他机器上进行环境部署Django 提供了一种方便的依赖库生成方式,可以将当前环境中的所有依赖的库名及其对应的版本号生成到一个名为 requirements,txt 的文件中。具体步骤如下

(1)在终端输入命令(也可使用课堂上发放的requirements文件)

pip freeze > requirements.txt

运行命令后,Python 会自动搜索当前环境中的所有依赖包名及其对应的版本号,并将这些信息写人到requirements.txt 文件中。

(2)如果需要部署工程到新的机器上,此时只需要安装此文件中的依赖即可,在目标机上输人下述命令即可快速安装项目相关的依赖包。

pip install -r requirements.txt

1.1.3安装和配置IIS

简单阐述如何安装和配置IIS。在Windows 系统中依次选择“控制面板”—“程序和功能”—-“打开或关闭 Windows 功能”选项,找到Internet Information Services(Internet信息服务),然后按照下图进行勾选,最后单击“确定”按钮完成IIS服务器的安装。

1.1.4开放端口

首先打开 Windows 操作系统的“控制面板”,找到“Windows Defender 防火墙”单击进人防火墙配置界面,如下图所示。

单击左侧菜单栏中的“高级设置”按钮进入高级设置界面,在左侧“入站规则”面板中单击“新建规则”按钮,进入入站规则向导界面,如下图所示。

选中“端口”单选按钮,然后单击“下一步”按钮,进入端口设置界面,将8001端口开放如下图所示。

其中,应用规则选择 TCP,规则应用范围选择“特定本地端口”。最后,依次单击“下-步”按钮即可完成整个端口开放任务。

1.1.5本地部署

1、安装并启动wfastcgi

为了Djingo项目能够部署到 IIS 服务器上,需要安装 Python 包 wfastcgi,该包作为Python的脚本解析器在A动态程序和 IIS 服务器间实现脚本解析。以管理员身份打开命今行具进行安装(注意此处必须要以管理员身份,否则会安装失败),输人命令

pip install wfastcgi

安装完成后需要启动 wfastcgi,继续在终端中输人命令:

wfastcgi-enable

在控制台会输出下面的结果

C:>wfastcgi-enable 已经在配置提交路径“MACHINE/WEBROOT/APPHOST”向“MACHINE/WEBROOT/APPHOST”的“system.webServer/fastCgi”节应用了配置更改 “D:.exe|D:-packages.py” can now be used as a FastCGI script processor

到这一步说明wfastcgi安装成功并且已经成功启动。输出结果最后冒号中的内容即为Python和wfastcgi解释器核心脚本的具体路径,用符号“|”隔开该路径在后面的web配置文件中会使用到。

2、配置web.config文件

为了能够让IIS服务器准确地运行项目,需要配置和设定一些参数,包括项目路径项配置文件路径、解析器等。一种简单办法就是通过添加服务器配置文件实现。具体的,在项目根路径下创建一个web.config 文件,添加内容如下:














这里对照着自己的网站,修改三处地方替换即可。

(1)scriptProcessor 中冒号部分分别填人前面对应的 Python和 wfastcgi解释器核心脚本文件所在路径。

(2)这里的 value要替换成当前的项目根目录(跟manage.py同目录)。

(3)

 < add key=“DJANGO_SETTINGS_MODULEvalue=”exam.settings”/>

这里value处需要写人项目配置模块名称。

3.静态文件迁移 在项目根目录下的 static文件夹中同样创建一个 web.config 文件,文件内容如下








该文件用于为IIS指明静态资源文件的渲染方式。接下来需要将项目所有的静态资源文件css、js、img等全部导人到项目根目录下的static 文件夹中。打开项目配置文件settings.py,将

STATICFIIES DIRS= (os.path.join(BASE DIR,"static"),)

替换为

STATIC ROOT = os.path,join(BASE DIR,'static')

然后在命令终端中执行命令:

python manage.py collectstatic

然后按照提示即可完成静态文件迁移。从本质上来说,静态文件迁移就是将原先分散在各个应用下的静态文件全部复制到项目根目录下的 static 文件夹中,这样做是为了方便IIS服务器查找静态资源文件。


4.IIS创建网站

在控制面板的windows工具中打开“Internet Information Services(IIS)管理器”。在IIS管理器左侧导航面板中右击“网站”,在弹出的快捷菜单中选择“添加网站”选项,进人网站添加界面。然后按照下图进行网站创建,其中,物理路径为项目根目录,IP 地址和主机名可以不用填写,端口号采用之前开放的端口,端口号的设置不能与本机当前其他网站或程序冲突,最后单击“确定”按钮完成项目部署。

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2