概述
之前和同伴使用Django做了一个小网站,想将这个网站部署到真实的生产环境中,测试稳定性与可用性,于是租用了一个云服务器,并将Django部署到上面的IIS中。
系统及软件版本
- Windows Server 2012 Standard
- IIS 8.0
- Anaconda3 4.0.0 64位 (搭载python3.5.1)
- Django 1.10.1
1. 可运行的django网站
首先确保自己的django网站在服务器上可以通过命令行 runserver 正常运行。
2. IIS配置
添加角色与功能
- 在服务器管理器中,添加角色与功能
- 添加角色与功能,其中CGI组件必须安装。
3. Python安装wfastcgi模块
- 在python的Scripts目录下pip安装wfastcgi模块(我之前已经安装过了,所以截图提示不需再次安装)
4. 项目文件处理
在python的Libsite-packages目录下,找到wfastcgi.py文件,并将其复制到你的django项目根目录下。
将项目文件放置到 C:inetpubwwwroot 目录下,方便管理,同时可以避免引起Windows Server的某些安全问题。
5. 配置网站
进入IIS管理器后,添加网站
填写相关参数
进入你建立的站点,选择处理程序映射。请注意,必须进入你指定的网站里面,再添加模块映射,否则,映射会添加到你所有的网站里。
添加模块映射。模块选择FastCgiModule,如果前面没有安装这个模块,请先安装哦。可执行文件对于本项目来说,实际上是必填的。此例中,C:Anaconda3python.exe|C:inetpubwwwrootPowerXwfastcgi.py。前面是python的路径,后面是wfastcgi.py文件的路径。实际上,如果wfastcgi.py文件路径直接引用pythonLibsite-packages目录下的文件也可以,不过就不可以部署多个Django网站了。
填写完参数后,选择请求控制,设置如图
确认添加后,程序映射添加成功
返回主页,进入FastCGI设置
选中新建的FastCGI应用程序,修改环境变量
需要添加的变量有3个:
get_wsgi_application()方法的位置,C:Anaconda3Libsite-packagesdjangocorewsgi.py
- Name: WSGI_HANDLER
- Value: django.core.wsgi.get_wsgi_application()
Django项目目录
- Name: PYTHONPATH
- Value: C:inetpubwwwrootPowerX
项目settings.py文件的位置
- Name: DJANGO_SETTINGS_MODULE
- Value: powerx.settings
至此,一个不带static静态文件的Django项目就可以在服务器上运行啦!!!
6. 关于安全性
在Windows Server平台,网页上操作会转换成IIS用户对文件的操作。那么,如果该用户没有服务器上文件的修改权限,那么,就无法对数据库进行增删改的操作。所以,我们需要给IIS用户对该数据库所在文件夹的操作权限。(此处直接添加整个项目的权限,实际项目中,切勿这样做呀~~~)
7. 对于静态文件的处理
此处对静态文件的处理,是基于原项目已经支持静态文件的前提下进行的。如果在普通环境下尚不支持静态文件,请先在项目中设置好参数哦。
在需要增加静态文件的地方,增加虚拟目录
根据需求,可以添加多个指向不同位置的虚拟目录
至此,回应用池,回收一下或者重启应用。Django项目就可以在服务器上跑起来啦~~~~
最后
以上就是炙热海燕为你收集整理的IIS8部署Django项目1. 可运行的django网站2. IIS配置3. Python安装wfastcgi模块4. 项目文件处理5. 配置网站6. 关于安全性7. 对于静态文件的处理的全部内容,希望文章能够帮你解决IIS8部署Django项目1. 可运行的django网站2. IIS配置3. Python安装wfastcgi模块4. 项目文件处理5. 配置网站6. 关于安全性7. 对于静态文件的处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复