Windows server iis部署Django详细操作

教程基于Windows server2012+Python3.6+IIS之上部署django的,同样适用于server2012之上的版本服务器和windows7以上的windows操作系统。

文章来自:django中文网,https://www.django.cn/article/show-21.html

如果觉得看文字没意思,想看视频教程的,请点击这里:Django项目部署视频教程

1、安装IIS和CGI

打开服务器管理器,选择添加角色和功能,选择要添加的服务器角色(WEB服务器IIS),然后安装

IIS安装成功之后,然后安装CGI,再次选择添加角色和功能,找到之前安装的WEB服务器IIS,点击它。

在展开的选项里找到WEB服务器,点击它,找到应用程序开发点击在展开的列表里找到CGI,勾选,然后下一步,安装它。

安装好CGI之后,我们在浏览器里输入http://127.0.0.1  访问IIS,如果出现如下页面,说明IIS安装成功。

2、安装Python3

在C盘建立python目录,然后从Python官网下载Windows版本的64位的Python安装包,并安装它。具体可以参考文章:python3安装详细步骤

3、安装wfastcgi

在Windows下,我们没法使用uwsgi,但我们可以使用wfastcgi替代它,打开CMD窗口,输入命令安装wfastcgi:

pip install wfastcgi

安装成功之后,通过下面命令启动它:

wfastcgi-enable

如上图,启动成功之后,它会把Python路径和wfastcgi的路径显示出来,我们需要把这个路径复制出来,保存好,后边用得着。

c:\python\python.exe|c:\python\lib\site-packages\wfastcgi.py

注意:上面的路径,是由Python解释器的路径和“|”以及“wfastcgi.py”文件路径组成。

4、在IIS里添加项目网站

把我们本地项目源码上传到服务器相应的目录里。

留意:搬迁项目的时候我们先换到项目路径下,用下面的命令把项目环境的软件包信息和依赖软件导出到文件里。

pip freeze > requirements.txt

然后一起和项目源码打包,上传到服务器里。

然后打开CMD切换到项目文件夹路径,输入下面命令,安装项目所需要依赖:

pip install -r requirements.txt

如果使用的是Mysql数据库,请自行安装Mysql和导入数据,这里就不说明。

5、在项目根目录里新建一个web.config配置文件,放入以下内容:

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <add name="Python FastCGI"
                     path="*"
                     verb="*"
                     modules="FastCgiModule"
                     scriptProcessor="<Path to Python>\python.exe|<Path to Python>\lib\site-packages\wfastcgi.py"
                     resourceType="Unspecified"
                     requireAccess="Script"/>
            </handlers>
        </system.webServer>
        <appSettings>
            <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
            <add key="PYTHONPATH" value="<Path to Django App>" />
            <add key="DJANGO_SETTINGS_MODULE" value="<Django App>.settings" />
        </appSettings>
    </configuration>

留意:这里面我标记的三个地方,我们需要修改。1、替换为我们之前我们启动wfastcgi时复制的python和wfastcgi的路径。2、填写我们的项目路径。3、填写settings.py的位置。<django App>修改成我们的settings.py所在目录的目录名即可。

修改完毕,启动IIS,在浏览器里输入http://127.0.0.1  就能访问网站。

6、如果访问IIS出现如下错误:

HTTP 错误 500.19 Internal Server Error

出现这样的情况是因为IIS7之后的版本都采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。我们把它解锁了就OK。

打开CMD,在里面依次输入下面两个命令:

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

解除了锁定之后,再访问网站就能正常显示了。

还有种情况:有时候访问页面,或者单独访问网站后台出现400错误,这个时候可能是因为没有给网站权限的原因。我们打开IIS,找到网站,右键,编辑权限,给IIS用户添加修改和写入权限。就能正常访问。

7、给静态资源添加虚拟目录

网站能访问了,但我们的前端样式显示有问题。那是因为我们没有在IIS里指定我们的静态资源目录,我们给它添加上虚拟目录就能解决。

步骤:

1、添加虚拟目录,在IIS找选中网站项目名,右键--添加虚拟路径

添加虚拟目录时,别名放与你settings里设置的一致,比如‘static‘,物理路径就是静态资源的实际目录。

2、在static里新建一个web.config文件,然后写入下面的内容:

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
      <!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
      <handlers>
        <clear/>
   <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
     </handlers>
   </system.webServer>
</configuration>

重启IIS,访问网站,前端就能正常显示。

8、管理后台样式丢失解决

正常情况下,部署的时候管理后台样式是不能正常显示的,我们需要收集这些样式到项目里去,才能正常显示。

步骤:

1、在settings.py里添加STATIC_ROOT配置指定收集路径如:

#指定样式收集目录,路径一般为项目里的static文件夹
STATIC_ROOT  = os.path.join(BASE_DIR, ‘static‘)
#或
STATIC_ROOT = ‘C:\python\mysite\static‘

然后CMD下运行如下面命令,进行样式采集:

python manage.py collectstatic

采集完成之后,刷新页面。后台样式成功显示。至此,部署结束。

如果各位读者在部署的时候,出现什么问题,可以在文章后面留言。方便我收集更多问题。

更多关于其它服务器部署Django的,请查看下面的文章:

CentOS7下部署Django项目详细操作步骤

Windows server iis部署Django详细操作

Ubuntu部署Django项目方法详解

原文地址:https://www.cnblogs.com/djangocn/p/10227006.html

时间: 2024-08-03 21:47:47

Windows server iis部署Django详细操作的相关文章

ubuntu部署django详细教程

教程使用的软件版本:Ubuntu 18.04.1 LTS,django2.0,Python 3.6.5.nginx-1.13.7.uWSGI (2.0.17.1),Ubuntu是纯净的,全新的.下面我们开始来部署. 文章转自django中文网:Ubuntu部署Django项目方法详解 如果觉得看文字没意思,想看视频教程的,请点击这里:Django项目部署视频教程 一.更新操作系统和安装依赖包 #更新操作系统软件库 sudo apt-get update sudo apt-get upgrade

制作Windows Server 2003/08 image详细步骤与OpenStack介绍

原文标题:OpenStack制作Windows Server 2003/2008/2008R2 image正确步骤详解与OpenStack介绍,为适合阅读已将此标题长度缩减. 适用于以下搜索关键词: Windows Server 2003/2008 image for openstack Windows Server 2003/2008 qcow download Windows Server 2003/2008 qcow2 download Windows Server 2003/2008 g

Microsoft Windows Server 2008部署Magic Winmail

今天朋友公司做内网,需求是mail跟文件共享,之前在Microsoft Windows Server 2003部署Magic Winmail 4.7的时候基本很简单,装完简单配置就能正常使用.想到2003显得太陈旧了于是给朋友公司做了个Microsoft Windows Server 2008 X86 Enterprise版本的服务器,安装完Magic Winmail之后发现像03一样配置后没法用. 首先看下服务,Winmail的服务是正常运行的,在本机telnet 25 110 465 995

windows server 2012R2 部署安装 hmail

windows server 2012R2 部署安装 hmail 环境说明: 系统: windows server2012 R2软件版本: hMailServer-5.6.7-B2425.exe 邮件客户端: foxmail7.2版本 加密工具: hMailServer_SSL_0_9_8j.rar hMailServer下载地址:https://www.hmailserver.org/download/file.php?id=360 hMailServer_SSL下载地址:https://ww

Windows server 2016部署DNCP服务

今天给大家简单介绍一下Windows server 2016部署DHCP服务器**安装DHCP服务器需要满足以下要求: 服务器应具有静态的IP地址 在域环境下需要使用活动目录服务器授权DHCP服务 建立作用域(作用域实际上是一段IP地址的范围)并激活 **安装DHCP服务之前,需要规划以下信息 确定DHCP服务器应分发给客户机的IP地址范围 为客户机确定正确的子网掩码 确定DHCP服务器不应向客户机分发的所有IP地址,应保留一些固定IP地址给打印服务器等使用 决定IP地址的租用期限,默认值为8天

windows server 2016部署wsus服务

wsus是微软公司推出的免费的Windows更新服务 管理软件,提供了Windows部分关键更新的分发,通过此服务,可以在第一时间从微软的官网服务器获得最新的更新补丁.wsus常见的部署环境有三种:1.简单部署:2.多台wsus服务器:3.断开Internet下的wsus环境.下面简单介绍一下如何简单的部署,如图wsus服务部署前的准备:1.CPU:主频至少1.4GHz的x64处理器(建议2GHz或更快):2.内存:可用内存至少2GB:3.可用磁盘空间:存储wsus更新内容的分区至少需要10GB

windows server 2003 部署 MVC 遇到的 问题总结

没装framework4.0的, MVC4的先装. 条件: 1. 新装的windows Server 2003 SP2 2. 可以正常运行的项目 问题:在部署在服务器上时,直接部署出现不能访问目录的错误,添加程序映射后,出现404 解决1. IIS=>网站=>网站名右键=>属性=>主目录=>配置=>通配符应用程序映射=>添加C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll映射 2. IIS

Windows下Apache部署Django过程记录

Win7/Apache/Python2.7/Django1.9部署Web 环境: Windows7 Apache httpd-2.4.16-win64-VC14 Python2.7.11 Django1.9.7 1.安装Apache 1)下载相关组件 步骤参照http://blog.csdn.net/qq_15096707/article/details/47319545 从官网 http://httpd.apache.org 下载Apache Files for microsoft windo

Windows server 2016 部署 PKI 和证书服务

在Windows server 2016操作系统中,想要安装证书服务需要满足的条件有:1.有固定的IP地址:2.域环境(不是必须,只是域环境安装完证书服务之后不需要自己手动添加证书服务)3.尽量使用两台服务器(dc1.dc2).在Windows server 2016操作系统中,证书服务不是Windows 默认服务,需要在系统安装完成后手动添加证书服务,DC1具体操作步骤如下:1.打开"服务器管理器"单击"添加角色和功能"2.在"开始之前"窗口中