一、基于 Windows 服务器IIS的Django布署

新建一个django项目。

、新建的项目名叫 MyCeShi ,创建的地址在 D盘code文件夹下

右键Python Environments 创建虚拟环境 env_MyCeShi


安装django1.11.14然后试着运行下保证没有错误。

下面开始进行正式的部署。

1 安装IIS。

控制面板—程序和功能—打开或关闭windows功能——Internet 信息服务。然后按照下图进行勾选

然后控制面板中找到管理工具,选择

双击打开。

2 安装wfastcgi

右键选择install pyhton package 然后输入wfastcgi。然后自动安装wfastcgi-3.0.0版本。

安装完成后

各个包的实际路径如下图

以管理员身份运行cmd(很重要,一定要用管理员身份运行),然后输入


'''

'''

这里说明安装成功了 记住冒号中的一串字符串,复制下来待会有用

D:\toolplace\python3.6.1\python.exe|D:\toolplace\python3.6.1\lib\site-packages\
wfastcgi.py


3. 配置IIS和django网站

由vs2015新建的项目运行后会在项目根目录下创建一个web.config的文件,用以下代码替换

                                                                                                                    

修改三处

scriptProcessor用刚才得到的字符串代替这里的value要定位到当前的项目根目录(跟manage.py同目录)这里写入app的名字

然后启用IIS新建网站,为了不冲突采用8000端口

浏览网站会得到如下结果

说明可以访问了,但是CSS等静态文件没有访问到。我们接着做如下修改

首先VS2015运行迁移静态文件命令:右键项目——python——Collect Static Files

结束后项目根目录下会多出一个static文件夹

然后我们在static文件夹中添加一个web.config文件,但是文件内容修改如下:

                  

这里注意 remove name中的值必须与之前的web.config中的一致

刷新网页就可以出现最终的页面。到这里本地部署完成。

为了可以局域网访问,修改settings.py文件

将 ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = ['*',] 重新编译下。然后再将根目录下的web.config

按照刚才的方式进行修改并保存。最后让网站重启下即可正常局域网访问。因为vs创建的django工程自带了bootstrap前端框架,所以做出来的网页也很适合手机访问(自适应)。手机浏览效果图如下:




二、Windows上使用Apache部署Django




Apache+Python3.6.3+Django

Windows7,Windows10,Windows Server2008

其他Windows应该也大同小异

Apache2.4:
LookAlan_Apache24,zip
Python3.6.3(一定要安装在默认路径):
https://www.python.org/downloads/release/python-363/
Django:
安装完python之后,直接用pip安装即可

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

 

解压上面下载的Apache2.4(建议放在系统盘根目录下)
找到以下目标文件
打开之后编辑

Apache24\conf\extra\Django.conf
Apache24\conf\httpd.conf


 

修改之后,保存。
 

打开目录Apache24/bin目录

 

双击apache.exe之后,打开浏览器输入http://127.0.0.1:8888/

 

  

 

=============================分割线=======================================

 

四.使用ApacheMonitor.exe开启需要安装Apache服务

进入Apapche/bin目录下,进入CMD命令行

httpd.exe -k install -n "lookalan"   #lookalan为Apache在windows的服务中的名字


lookalan为Apache在windows的服务中的名字
可自定义,例如:

httpd.exe -k install -n "api01"

安装之后可以在系统‘’服务‘’中找到,可以设置为开机自启

 

五.如果在部署中遇到了错误,可尝试以下解决方法

进入Apapche/bin目录下,进入CMD命令行
直接输入:

httpd.exe

查看错误的原因:

httpd.exe: Syntax error on line 185 of E:/Apache24/conf/httpd.conf: 
Cannot load c:/users/administrator/appdata/local/programs/python/python36/lib/site-packages/
mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd into server: 
\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3


上面这个错误就是因为没有按照上面的步骤安装:
mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl


还有其他一些错误,例如端口号被占用之类的都可以使用此方法检测出来

 

还可以查看Apache的错误日志检测错误,日志文件路径:

Apache24\logs         # 日志文件夹Apache24\logs\access.log  # 访问日志Apache24\logs\error.log  # 错误日志