前言:虽然网上有很多教程,但在不同的版本之间还是有些差异的,所以把自己搭建成功的例子记录一下
1.各个软件版本:
①系统:windows Server 2012 R2 Datacenter 64
②python3.5.4 32
③Django 2.0.8
④apache 2.4.35 32
2.环境搭建:
2.1 apache 下载安装:根据自己的需要下载windows apache版本(下载地址)
我下载的是httpd-2.4.35-o102p-x86-vc14.zip
2.1.1 这里我将上面下载的安装包解压到C:\Apache24
2.1.2 修改c:\Apache24\conf\httpd.conf内容
将Define SRVROOT "/Apache24" 改为 Define SRVROOT "c:/Apache24"
将Listen 80 改为 Listen 8000
2.1.3 双击打开c:\Apache24\bin\httpd.exe,打开后程序自动退出即启动失败。
需要安装visual C++库运行时组件,在上面下载apache的底部有如下内容:
下载对应的visual C++ 库运输时组件:
下载后双击安装,出现如下问题:
上述问题:0x80240017-未指定的错误 是windows server 2012 R2系统问题,需要更新系统KB2919355补丁:微软官方补丁下载
补丁安装规则:
所以要安装上述补丁需要下载安装KB2919442(x64): 下载地址
2.1.4 双击打开c:\Apache24\bin\httpd.exe,打开后程序没有自动退出即成功。
在浏览器打开 http://127.0.0.1:8000
成功出现如下内容即安装成功:
2.1.5 如果还是安装不成功,可能是端口被占用,在命令行cmd 转到httpd.exe目录下执行httpd -k install可查看失败原因。
若是端口被占用,可用netstat -ano|findstr "被占用端口号" 被占用端口号是具体错误的端口号比如8000
查到占用的端口的进程号,再使用 taskkill -f -pid xxx 关闭进程。
2.2 安装python (3.5.4 32)
2.2.1 下载python
2.2.2 安装
如图打钩,选择Customize installation
安装成功后显示提示。
2.3 安装Django (2.0.8 )
2.3.1下载Django
2.3.2 下载完解压后, 命令行进入解压目录:
安装成功:
安装成功使用django-admin若出现pytz错误 使用pip install -U pytz解决问题。
2.4 安装 mod_wsgi
2.4.1 下载mod_wsgi‑4.6.4+ap24vc14‑cp35‑cp35m‑win32.whl(根据实际使用版本下载,其中35表示python版本)
备注:有些浏览器无法下载比如QQ浏览器,但Google是可以的。
2.4.2 安装
pip install mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win32.whl
mod_wsgi-express module-config
#输出 后面部署Django+Apache需要以下的输出内容
LoadFile "c:/program files (x86)/python35-32/python35.dll"
LoadModule wsgi_module "c:/program files (x86)/python35-32/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win32.pyd"
WSGIPythonHome "c:/program files (x86)/python35-32"
2.5 Django + Apache部署:
2.5.1 使用django-admin创建服务器项目:
#在我的C:\mycode下执行命令
c:\mycode> django-admin startproject myproject1
2.5.2 配置Apache: 修改c:\Apache24\conf\httpd.conf在其文件末尾加入如下内容
#添加mod_wsgi,这三行是安装mod_wsgi命令行中显示出来的
LoadFile "c:/program files (x86)/python35-32/python35.dll"
LoadModule wsgi_module "c:/program files (x86)/python35-32/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win32.pyd"
WSGIPythonHome "c:/program files (x86)/python35-32"
#设置wsgi.py文件路径
WSGIScriptAlias / c:/mycode/myproject1/myproject1/wsgi.py
#指定项目目录,即你的Django项目路径
WSGIPythonPath c:/mycode/myproject1
<Directory c:/mycode/myproject1/myproject1>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Listen 8000
ServerName 127.0.0.1:8000
2.5.3 测试:(记得把服务器的访火墙关掉,否则别的电脑无法访问)
使用局域网的其他计算机浏览器访问
输入:http://服务器IP:端口号/admin
成功访问如下图: