一、基于 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
|
|
修改三处
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
|
|
这里注意 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
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 # 错误日志