一、基于 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(很重要,一定要用管理员身份运行),然后输入


'''

wfastcgi-enable
#得到
Microsoft Windows [版本 6.1 . 7601 ]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
 
C:\windows\system32>wfastcgi-enable
已经在配置提交路径“MACHINE/WEBROOT/APPHOST”向“MACHINE/WEBROOT/APPHOST”的“sy
stem.webServer/fastCgi”节应用了配置更改
"D:\toolplace\python3. 6.1 \python.exe|D:\toolplace\python3. 6.1 \lib\site-packages\
wfastcgi.py" can now be used as a FastCGI script processor
 
C:\windows\system32>

'''

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

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


3. 配置IIS和django网站

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

?

1
2
3
4
5
6
7
8
9
10
11
12
13
<!--xml version= "1.0" encoding= "UTF-8" -->
     <configuration>
         <system.webserver>
             <handlers>
                 
             </add></handlers>
         </system.webserver>
         
             
             
             
         </add></add></add></appsettings>
     </configuration>

修改三处

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

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

\

浏览网站会得到如下结果

\

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

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

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

\

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

?

1
2
3
4
5
6
7
8
<!--xml version= "1.0" encoding= "UTF-8" -->
<configuration>
   <system.webserver>
     <handlers>
       <remove name= "Python FastCGI" >
     </remove></handlers>
   </system.webserver>
</configuration>

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

\

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

\

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

\

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

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

\




二、Windows上使用Apache部署Django



软件环境:


Apache+Python3.6.3+Django

此方法已测试的系统环境:

Windows7Windows10Windows Server2008

其他Windows应该也大同小异

一.需要下载安装的东西:

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

pip install django

mod_wsgi下载安装:
mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl

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  # 错误日志