Django3.0使用-采用Apache发布项目

Django工程在Windows系统的服务器上发布,不仅可以通过Window系统自带的IIS来进行(具体使用见Django2.0使用-采用IIS发布项目),还可以通过第三方web服务器软件Apache,具体操作步骤如下:

1,基本资料准备

首先在服务器上安装支持对应工程的python版本,安装完成后,再安装对应的插件包,安装完成后,在对应工程的manage.py 路径下,以管理员方式运行CMD命令

python manage.py runserver

运行完成后,确认对应页面可正常打开。

2,安装Apache版本

进入Apache官网http://httpd.apache.org/ ,点击 Download 链接

Django3.0使用-采用Apache发布项目_第1张图片

在Download 页面 点击 “ a number of third party vendors”

Django3.0使用-采用Apache发布项目_第2张图片

Django3.0使用-采用Apache发布项目_第3张图片

根据需要选择对应的版本,要注意是

Django3.0使用-采用Apache发布项目_第4张图片

3,配置Apache参数

解压缩相关的Apache包后,进入相应Apache文件夹下的conf文件夹(本例为C:\Users\demopc\Downloads\httpd-2.4.41-lre302-x64-vc14\Apache24\conf) ,打开httpd.conf 文件,

找到类似 Define SRVROOT "/Apache24" 语句, 该语句用于定义Apache的的路径,设置为相关的文件夹位置,本例设置如下

Define SRVROOT "C:\Users\demopc\Downloads\httpd-2.4.41-lre292-x64-vc14-r2\Apache24"

找到类似 Listen 80  的语句,该语句用于定义发布的web站点监听地址及端口,本例设置如下:

Listen 127.0.0.1:8810

找到类似 #ServerName www.example.com:80 的语句,该语句用于定义发布的站点及地址,本例设置如下:

ServerName 127.0.0.1:8810

设置完成后,保存httpd.conf文件

4,.创建apache服务

以管理员方式运行打开CMD窗口,运行如下命令

C:\Users\demopc>cd \

C:\>cd C:\Users\demopc\Downloads\httpd-2.4.41-lre302-x64-vc14\Apache24\bin

C:\Users\demopc\Downloads\httpd-2.4.41-lre302-x64-vc14\Apache24\bin>httpd.exe -k
 install -n myapache
Installing the 'myapache' service
The 'myapache' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

C:\Users\demopc\Downloads\httpd-2.4.41-lre302-x64-vc14\Apache24\bin>net start my
apache
myapache 服务正在启动 .
myapache 服务已经启动成功。


C:\Users\demopc\Downloads\httpd-2.4.41-lre302-x64-vc14\Apache24\bin>

说明:

1)本例中Apache 的路径为C:\Users\demopc\Downloads\httpd-2.4.41-lre302-x64-vc14\Apache24 ,上述dos命令首先是进入到pache的bin下,用于执行httpd命令,当然也可以通过绝对路径执行,或者在环境变量设置path 中包含Apache的路径

2)myapache 为自定义的服务名,可根据需要定义符合Windows服务的名称

3)定义完服务后,然后启动服务

当服务启动后,打开浏览器,输入http://127.0.0.1:8810/ (该地址为Apache定义的地址),当出现Apache的测试页面时表明Apache的环境部署成功

Django3.0使用-采用Apache发布项目_第5张图片

5,安装相关Mod_wsgi插件

浏览器中输入 http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi  ,进入到Mod_wsgi 的下载页面,根据自身所安装的Apache版本与Python版本选择对应的Mod_wsgi 版本,例如本例的Apache 版本为httpd-2.4.41-lre302-x64-vc14 ,Python版本为3.7.4 64位 ,则选择mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.whl 文件

Django3.0使用-采用Apache发布项目_第6张图片

下载完成后,将 文件复制到所安装的Python版本对应的scripts 路径下(本例为D:\python374\Scripts),

以管理员方式运行打开CMD窗口,运行如下命令用来安装并配置Mod_wsgi

C:\Users\demopc>d:

D:\>cd D:\python374\Scripts

D:\python374\Scripts>pip install "mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.
whl"
Processing d:\python374\scripts\mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.wh
l
Installing collected packages: mod-wsgi
Successfully installed mod-wsgi-4.5.24+ap24vc14

D:\python374\Scripts>mod_wsgi-express module-config
LoadFile "d:/python374/python37.dll"
LoadModule wsgi_module "d:/python374/lib/site-packages/mod_wsgi/server/mod_wsgi.
cp37-win_amd64.pyd"
WSGIPythonHome "d:/python374"

 

6,在Apache中配置Django工程

再次打开httpd.conf 文件,在文件的结束位置将Mod_wsgi  的配置结果粘贴过来,同时配置WSGIScriptAlias用来设置工程中的wsgi路径、WSGIPythonPath用于设置工程路径,并设置wsgi.py 的访问权限

LoadFile "d:/python374/python37.dll"
LoadModule wsgi_module "d:/python374/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "d:/python374"

#设置工程中的wsgi路径
WSGIScriptAlias   E:\test-python\myStudy\myStudy\wsgi.py

#设置工程路径
WSGIPythonPath E:\test-python\myStudy

#设置wsgi 权限

	
		Require all granted
	

说明:

本例中Django工程建立在 E:\test-python 文件夹下,工程名称为myStudy,相关的wsgi.py 路径为E:\test-python\myStudy\myStudy

测试

配置完成后,根据Django工程定义的urls,在浏览器中进行测试(本例中Django工程在urls.py 中设置了 mytest 路径),测试结果如下:

Django3.0使用-采用Apache发布项目_第7张图片

你可能感兴趣的:(Django)