在IIS上部署基于django WEB框架的python网站应用

news/2024/5/9 23:58:11/文章来源:https://blog.csdn.net/omage/article/details/7291403

django是一款基于python语言的WEB开源框架,本文给出了如何将基于django写的python网站部署到window的IIS上。

 

笔者的运行环境:

  • Window xp sp3
  • IIS 5.1
  • Python 2.7.2 (http://www.python.org/)
  • pywin32-217.win32-py2.7   (python的win32扩展)
  • Django-1.3.1  (https://www.djangoproject.com/)
  • isapi_wsgi-0.4.2-py2.5    (http://code.google.com/p/isapi-wsgi/  ,基于IIS的ISAPI扩展的WSGI实现).
  • setuptools-0.6c11.win32-py2.7 

原理解释:

       IIS通过ISAPI可以扩展支持其他语言实现的WEB应用,isapi_wsgi-0.4.2-py2.5这个程序作为ISAPI实现了WSGI规范,

WSGI规范是作为python web应用与web服务容器之间的接口规范,通过这个程序,对IIS的某个虚拟站点的请求就可以定向

到这个ISAPI去处理,而无需为了去部署到某个特定容器里而去改动python web的任何代码。

 

步骤

  1. 先安装好IIS, Python, Django, setuptools, pywin32,  这些很简单。(将环境变量PATH里加入python的安装主目录)
  2. 下载isapi_wsgi-0.4.2-py2.5.egg文件   (这是python里的一种安装包,类似于Red Hat的RPM,当然你也可以下载exe或zip下载安装)
  3. 下载后,在命令行窗口输入:easy_install isapi_wsgi-0.4.2-py2.5.egg    (这里它会提示你安装成功,注意:必须安装setuptools才能运行该命令)
  4. 写一个部署脚本,名字假定为wsgi_deploy.py  (假定你的web project 目录为 C:\Web, 在Web目录下有一个App为mysite) ,目录一定不要弄错,否则容易出现HTTP 500错误。

import os, sys
sys.path.append(‘C:\\Web')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

import isapi_wsgi
# The entry points for the ISAPI extension.
def __ExtensionFactory__():
    return isapi_wsgi.ISAPISimpleHandler(application)

if __name__=='__main__':
    # If run from the command-line, install ourselves.
    from isapi.install import *
    params = ISAPIParameters()
    # Setup the virtual directories - this is a list of directories our
    # extension uses - in this case only 1.
    # Each extension has a "script map" - this is the mapping of ISAPI
    # extensions.
    sm = [
        ScriptMapParams(Extension="*", Flags=0)
    ]
    vd = VirtualDirParameters(Name="mysite",
                              Description = "ISAPI-WSGI ISAPISimpleHandler Django mysite",
                              ScriptMaps = sm,
                              ScriptMapUpdate = "replace"
                              )
    params.VirtualDirs = [vd]
    HandleCommandLine(params)

       5. 在命令行输入: wsgi_deploy.py  install  ,运行之后会在IIS上创建上面脚本定义的虚拟路径"mysite", 同时你会发现一个'_wsgi_deploy.dll'文件会创建出来,这个就是ISAPI。

         细心的读者不妨在IIS的"mysite“的设置里去查看下就明白了。

        

   

      6.部署后,既可以通过浏览器访问你的Web App了

     

 

注:如果出现错误,如何处理?

可以在命令行输入: python -m win32traceutil     便可以输出isapi_wsgi模块输出的错误堆栈信息

通常错误都是出现在路径方面。如类似于

ImportError: Could not import settings 'mysite.settings' (Is it on sys.path?): N
o module named mysite.settings 这样的问题。

这样的情况,需要去找到上述的部署脚本wsgi_deploy.py,去修改为正确的配置,然后记住需要先运行

wsgi_deploy.py  remove后再运行wsgi_deploy.py  install。

 

 

参考:http://code.google.com/p/isapi-wsgi/ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_834361.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IIS7部署django网站指南

运行环境: windows Server 2008 R2 Enterprise (64位) IIS 7.5 IIS 6.0 兼容性管理 SQL Server 2005 注: IIS 6.0兼容性管理必须安装 所需软件: 请到官方网站下载,所有的安装包都是32位的。 window installer是指exe的安装包, 而django,django-pyodbc,isapi_wsgi请…

如何使用命令行调优ASP.NET网站代码(From MSDN)

原文出处: http://msdn.microsoft.com/en-us/library/ee308442(vvs.110).aspx 命令行工具路径: c:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Performance Tools\ 非常实用的工具,可以帮助你判断ASP.NET网站程序代码…

外国官方网站下载文件速度缓慢

我们经常要下载东西,特别是一下专业软件就不得不到官方网站下载了,但很多这样的软件常常需要到外国的一些官方网站里下载了。可是,也经常遇到下载速度过于缓慢的的问题,在这我是用了一个简单但是略显笨的方法,但是也挺…

客户端通过主DNS、辅DNS、缓存DNS能够正常解析,客户端能够通过DNS解析域名来访问网站服务器。

实验要求: 客户端通过主DNS、辅DNS、缓存DNS能够正常解析,客户端能够通过DNS解析域名来访问网站服务器。 主DNS解析域名正向区域 反向区域 辅DNS解析域名缓存DNS解析域名通过DNS解析域名访问网站服务器PS:可能出现的问题: 解决方法&#xf…

爬虫学习之9:结合百度翻译API爬取PEXELS网站图片

PEXELS网站上的图片素材,质量很高,可以免费用于个人和商业用途,但是搜索功能不能用中文,这里结合百度翻译API完成搜索路径的构建。由于百度翻译API为个人申请使用,这里用XXX代替,需要的童鞋可以自己申请免费…

【建议收藏】六个免费的在线OCR识别网站,显著提高你的工作效率!

日常生活中,很多时候我们需要将图片信息转换成文字。比如读一本纸质版的书时,读到有价值的片段,希望保存成电子存档以后翻出来看;比如希望将照片里的文字信息提取出来保存;比如领导交给你一份纸质版表格让你录入excel。…

菜鸟上路Flask+Anaconda+Pycharm网站开发

之前一直用Django框架,然后老大说‘’Django框架太重了,换个轻的,就换了Flask,简单记录一下Flask开发的流程吧。 Step1:我的Python环境是Anaconda中集成的,版本是3.6版,Anaconda中也集成了Flas…

C# 获取网站站点根目录

获取站点ID: using Microsoft.Web.Administration; var sites new ServerManager().Sites["Mis"];string siteID sites.Id.ToString(); using System; using System.DirectoryServices; using System.Collections.Generic; using System.Text; namespac…

抖音seo

什么是抖音SEO?简单来说,就是围绕抖音的推荐算法做的SEO关键词布局和推广,达到自然引流的目的。 什么是抖音SEO算法? 1、内容搜索检索视频内容,寻找与 "减肥 "相关的视频,即系统会对声音、字幕等…

抖音SEO优化,抖音seo

抖音seo推广获客,抖音seo排名,抖音seo霸屏,抖音seo 抖音seo搜索 04-02 14:29 一、抖音seo优化是什么? 抖音seo是搜索引擎行业目前比较关注的领域,国内主流搜索引擎如百度、360、搜狗、神马大家对传统搜索引擎已根深蒂…

短视频seo优化,短视频seo

一、短视频SEO是什么?简单来说,就是围绕短视频的推荐算法,来做的SEO关键词布局和推广,达到自然引流目的。 二、短视频SEO算法是怎样的?1、内容检索检索视频内容,寻找和“美妆”相关的视频,也就是…

如何优化抖音SEO?

如何做抖音SEO优化? 1,关键词矩阵的布局:账户名称、视频文案、视频标题。 2,要确保视频素才高清,大量制作视频 3,视频的标题、字幕、声音画面等。都要含有关键词 4,根据视频内容和关键词中的…

抖音SEO优化

根据最新统计,当前我国短视频用户数量高达8.7亿人次,而其中短视频的月搜索量就超过5.5亿次,作为新的流浪风口,抓住抖音搜索,就等同于抓住成功的机会。那么今天针对抖音seo搜索,小编和大家聊聊什么是短视频S…

【短视频seo】短视频seo优化,抖音seo,抖音SEO优化

短视频SEO是什么? SEO是免费搜索排名优化。无论百度SEO,还是抖音的SEO旨在通过使用搜索引擎的规则获得长期、高质量和被动的流量。 我们在百度中搜索,会出现很多我们想知道的问题,有我们搜索关键词的文章,我们还可以选…

抖音矩阵系统源码,短视频矩阵系统源码。抖音SEO获客系统源码。

一. 账号人设定位 他会分为四种分类第一种行业号内容发布的视频可以以行业为主那么这种情况做出行业的内容来进行建立账号。专家号内容可以以专家形象来对账号人设进行建立比如如果是一个老本行的东西让一个小年轻去进行发布的话是不会有人信也不会有人去了解的。产品号内容可以…

抖音矩阵系统,短视频矩阵系统,抖音SEO获客系统源码。look

自从疫情开始,短视频就成为了主流。困在家里,不会写软文,拍视频最简单,问题是怎么做? 做一个短视频作品不容易,如何才能把一条短视频的作用发挥到最大?没有团队,不懂运营&#xff0…

抖音矩阵系统,抖音SEO源码,短视频矩阵系统源码,tell me

西瓜,抖音和火山,是今日头条的三大短视频矩阵。截止目前,今日头条西瓜视频的日播放量已经超过30亿,火山和抖音的播放量也分别超过20亿和10亿。 从播放量的成绩单上看,今日头条在短视频行业里算是非常优秀的了&#xf…

抖音矩阵系统,短视频矩阵系统,抖音SEO源码。look here

抖音做账号矩阵咋个做,以单个抖音短视频账号为例,落地步骤为:注册—养号—定位—内容搜集—编辑—上传—维护。做抖音短视频账号矩阵一定要注意账号的行为和IP。一个账号一个定位,内容不要跨界。单人也可以打造矩阵引流&#xff0…

短视频矩阵系统源码,抖音矩阵系统,抖音SEO系统源码。me

抖音目前最为现如今比较受欢迎的平台之一,平台的流量是非常大的,不少商家都会选在在抖音上面来推广自己的产品,想要获得更多的流量就需要提高搜索排名,下面我们就来看看抖音搜索排名怎么靠前? 1、账号的定位要明确 账号定位是什…

短视频矩阵系统,抖音矩阵系统源码,抖音SEO源码,tell

说到抖音矩阵,可能有很多小伙伴都不清楚是什么意思,这里先和大家分享下抖音矩阵是什么意思,简单的说抖音矩阵就是通过不同的抖音账号,实现抖音内容的全面展示。比方说可以通过这个抖音号关联一个其他领域的抖音小号,从…