实测环境:Windows Server 2016

Python版本:3.6
Mysql版本:8.0.19
Apache版本:Apache2.4

整体流程:

下载安装包与wsgi模块
配置host文件
配置httpd.conf文件
配置http-vhosts.conf文件
配置https访问
配置Django项目文件
安装apache服务

下载安装包与wsgi模块

http://mr1024.hl98.cn/mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl 下载成功后通过命令行进入该模块存在的路径下,执行下面的命令

pip install "mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl"

然后将你下载的Apache解压到你想要放的位置,我这里我是这么放的

nagios windows部署_django

配置host文件

在windows 的host文件内添加如下内容:
host文件的路径:C:\WINDOWS\system32\drivers\etc\

127.0.0.1 localhost 你的一级域名

截图如下:

nagios windows部署_nagios windows部署_02

配置django中的wsgi.py

添加内容

import sys
sys.path.append('/www/wwwroot/项目路径')

配置httpd.conf文件

进入你的apache的安装路径下的conf文件夹里面,有一个httpd的文件,
搜索Listen 80去除那个#号
搜索#LoadModule vhost_alias_module modules/mod_vhost_alias.so
将行首的#删除,取消注释,使其生效

在最后添加一下内容:
第一个loadfile就是你的python的安装路径下的那个dll文件
第二个是loadModule wsgi_module就是你需要安装的wsgi

#以下为自定义
LoadFile "c:/program files/python/python36.dll"
LoadModule wsgi_module "c:/program files/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/program files/python"

以下是截图:

nagios windows部署_Apache_03

找到#Include conf/extra/httpd-vhosts.conf
同样将行首的#删除,使其生效,包含这个配置文件,接下来我们就是去编辑该文件。

配置httpd-vhosts.conf文件

打开httpd-vhosts.conf文件(Apache安装目录下conf/extra/httpd-vhosts.conf)

打开文件后,文件下面有一些类似下面这样的配置

这里需要注意下,我的这个域名我开启了https,所以我的下面写了ReWriteEngine on,

如果你不需要的话,就到这里就可以了正常使用了

nagios windows部署_python_04

配置https

这里是我开始https的配置
如果你也需要开启https,那么你还需要在apache安装路径下面的conf文件夹里面打开httpd.conf那个配置文件,将LoadModule ssl_module modules/mod_ssl.so的#号去除,然后再下面加上如下图的一段

Include conf/extra/vhost-ssl.conf

nagios windows部署_python_05


然后再extra文件夹内新建一个vhost-ssl.conf的文件,用记事本将它打开

添加如下的内容

这里的证书就是你申请之后的得到的证书,把他放在你的服务器上面

Listen 443
#自定义ssl
#第二个
<VirtualHost *:443>
	# 项目根路径,经测试,这个写到项目所在文件夹或者直接进入文件夹内都可以
	DocumentRoot "C:/wwwroot/mxg"
	# 这里填写域名,没有域名随便填写即可
	ServerName 你的域名
	ServerAlias 你的域名
	SSLEngine on
	SSLProtocol TLSv1 TLSv1.1 TLSv1.2
	SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
	SSLCertificateFile "crt证书文件路径"
	SSLCertificateKeyFile "key文件路径"
	SSLCertificateChainFile "root_bundle.crt的文件路径"
	# 项目的wsgi.py文件,注意目录前有`/`和空格
	
	WSGIScriptAlias / C:/wwwroot/mxg/mxg/wsgi.py
	<Directory "C:/wwwroot/mxg/mxg">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
	 # 静态文件路径
	Alias /static C:/wwwroot/mxg/static
	<Directory C:/wwwroot/mxg/static>
		AllowOverride None
		Options None
		Require all granted
	</Directory>
	# 错误日志记录文件
	ErrorLog "C:/wwwroot/mxg/logs/access_ate.log"
	TransferLog "C:/wwwroot/mxg/logs/access.log"
</VirtualHost>

这是Django项目的路径

Django项目配置

nagios windows部署_python_06

截图如下:

nagios windows部署_Apache_07

安装Apache服务

通过命令行进入apache的bin文件夹,运行httpd.exe文件夹就可以启动apache了,

nagios windows部署_Apache_08


这个时候一般会出现一个黑窗口,不能关闭,关闭了就相当于关闭了Apache,所以我们需要安装服务,通过服务的方式启动它,就不会有黑窗口存在。

安装服务的命令如下:

httpd.exe -k install -n "服务名称" #一般写Apache
net start Apache #可以启动服务
net stop apache #可以关闭服务

配置到这里,你的整个Django项目就算部署完成了,然后你就可以通过你的域名去进行访问了,有问题的欢迎留言啊