基于IIS的Windows系统Django项目本地部署

参考:

1.

基于Windows平台的Django本地部署和腾讯云服务器上部署(1)_如何在服务器上发布部署django程序 csdn-CSDN博客

2.Windows server iis部署Django详细操作 - Django中文 - 博客园 (cnblogs.com)

3.在IIS中部署python+Django项目时出现“Http 错误500.0”无法在<fastCGI>应用程序配置中找到<handler> scriptProcessor的一个解决办法,供参考_无法在<fastcgi>应用程序配置中找到<handler> scriptprocessor-CSDN博客

目录

零、注意事项

一、系统路径及文件

1.系统路径

2.系统正常运行

二、配置IIS服务器

1.安装iis

2.打开iis

三、wfastcgi安装打开

1.pip安装wfastcgi

2.启动wfastcgi

四、项目内文件配置

1.web.config

2.在iis中配置网站

3.打开网页

4.静态文件加载

5.成功打开

五、记录性备注


零、注意事项

此处仅为本人问题记录,不做通用性指导。我进行了两台电脑的部署,总的来说建议设置路径无空格的python环境,原因来源于经历,如下。

第一台环境在d盘,路径无空格,到 四、4即可完成,1.中途出现有包但是提示找不到的问题,按照报错2的方法解决(虽然报错2用这个方法未解决)2.映射问题&css样式,后文也有解决记录

第二台环境在c盘,是python默认环境,路径有空格,但是始终轮着提示报错1\2\3,很无奈,后面在d盘重新加了一个环境,就解决了,真好,能跑就行。

一、系统路径及文件

1.系统路径

D:\projects\project\map,后文或称【根目录】

manage.py,static文件夹均在如上的map目录下

2.系统正常运行

在pycharm中用terminal打开,应用 python manage.py runserver可以正常打开运行系统

二、配置IIS服务器

在window对应窗口进行iis对应配置

1.安装iis

控制面板—程序—程序和功能—打开或关闭windows功能——Internet 信息服务

点击【确定】,如下图显示即可,点击【关闭】

(以下本文未在此时测试:

根据参考博客2,安装完后可以在浏览器输入 127.0.0.1 测试效果,如下图

2.打开iis

【控制面板】-【管理工具】

进去之后找到 IIS,双击打开

三、wfastcgi安装打开

说明:wfastcgi是一个python库,使用pip安装

1.pip安装wfastcgi

使用【管理员】打开【命令提示符】(Windows PowerShell)

(douban镜像可能不行,设置清华源为默认后获得成功:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple)

2.启动wfastcgi

安装完成后需要启动wfastcgi,输入wfastcgi-enable

记录下此时 wfastcgi.py 的路径 (D:\projects\venv\Scripts\python.exe|D:\projects\venv\lib\site-packages\wfastcgi.py),后文需要。

四、项目内文件配置

1.web.config

在根目录下创建web.config,内容如下

<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><handlers><add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\projects\venv\Scripts\python.exe|D:\projects\venv\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="D:\projects\project\map" /><add key="DJANGO_SETTINGS_MODULE" value="map.settings" /></appSettings></configuration>

根据自己的项目调整如下三项

(1)scriptProcessor :设置为上面保存的路径

(2)<add key="PYTHONPATH" value="D:\projects\project\map" />

设置为根目录下一级,该级目录下有setting文件

(3) <add key="DJANGO_SETTINGS_MODULE" value="map.settings" />

项目名.settings

2.在iis中配置网站

在打开的IIS管理器中,添加网站

【网站名称】自行设置,看需求,目前没发现影响

【物理路径】设置同  四-1-(2)

【端口】本人想用8001,参考教程用的8000

(屏幕小的笔记本电脑,看不到确定键,可以填好回车)

3.打开网页

理论上应该可以打开,然后看到无css的html网页,但我的报错了

(1)报错1

参考链接3,操作如下:

①进入【处理程序映射】

路径前后需要有 双引号(另一半在后面截图未截到),确定后,web.config文件中,引号会对应变为&quot;之前这样网页就正常了

4.静态文件加载

(1)增加虚拟目录

添加虚拟目录时,别名放与settings里设置的一致,比如'static'(参考教程2说的,但我不知道setting指哪个),物理路径就是静态资源的实际目录。

(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>

5.成功打开

(1)localhost访问

在本机网页输入 http://localhost:8001/ 可以成功访问了,

(2)ip访问

也可以在局域网内通过ip链接

通过cmd输入ipconfig,找到自己电脑的 IPV4地址,以下是示例:

替换localhost,可以在本机&局域网内访问 http://192.168.0.108:8001,能ping通部署项目的机器,理论上可以访问。

如果访问不了,关掉部署了项目的机器的防火墙,再尝试。

关闭防火墙方式如下:

(根据局域网的不同可以选择性关闭,不知道怎么选,需要自己尝试,或者直接都关闭。

学校云桌面,尝试中只关域网络即可,为保险起见,可以都关闭,或者展示前测试一下)

五、记录性备注

以下问题解决方式不正确,仅作记录。建议为项目单独创建虚拟环境,而且个人感觉路径中最好不好有空格,我本来使用的是安装的默认环境,但是总是出现下面的问题,但是后面在D盘重新创建虚拟环境(同时路径无空格)后,就可以显示了,原因不明,只能说尽量避免吧

(1)报错1

就是上面的报错,但是这里记录不正确的解决思路,仅作常识性记录

检查路径是否未对应(本人在本机部署时,与其他机器路径混乱,找了很久的问题。)

原因解释:

路径包含空格,需要前后都包含双引号,在【编辑模块映射】中加上,即可在web.config中对应生成,解决500问题

(2)报错2

①检查系统在pycharm中能否正常运行python manage.py runserver,发现系统本身没问题

②不优秀的解决方式:

在终端uninstall该模块(此处为django,后可能有别的模块有问题)

在根目录下创建requirements.txt,将当前django及版本写入,如 Django==4.1.7

在终端定位到根目录,运行文件:pip install -r requirements.txt,重新下载module,然后运行,就解决了django问题(这种简单的流程之后,提示别的问题,等于当前问题解决了)

③总结:原因不明,卸载再安装就可以了,很离谱不太懂真的谢,而且如果批量卸载,批量用txt好像也不成功,就要一个一个,就是神金。

(3)报错3

解决

双击进入之后,发现在 python和wfastcgi的对应中,有未加引号的对应关系,删除即可,配图是删除后的。

(4)报错4

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

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

相关文章

Python: 分块读取文本文件

在处理大文件时&#xff0c;逐行或分块读取文件是很常见的需求。下面是几种常见的方法&#xff0c;用于在 Python 中分块读取文本文件&#xff1a; 1、问题背景 如何分块读取一个较大的文本文件&#xff0c;并提取出特定的信息&#xff1f; 问题描述: fopen(blank.txt,r) quot…

使用任意电脑通过内网穿透生成的公网地址远程SSH连接本地Windows电脑

文章目录 前言1. Windows安装SSH服务2. Windows本地连接测试3. Windows安装Cpolar工具4. 配置SSH公网地址5. 远程SSH 连接测试6. 固定SSH公网地址7. 固定SSH地址测试 前言 在当今的数字化转型时代&#xff0c;远程连接和管理计算机已成为日常工作中不可或缺的一部分。对于Wind…

Warning message:package ‘ggplot2’ is not available (for R version 3.2.3)

install.packages(ggplot2) Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified) Warning message: package ‘ggplot2’ is not available (for R version 3.2.3) 根据你提供的信息&#xff0c;警告消息表明在你的R版本&#xff08;3.2.3…

微信小程序留言板1

wxml&#xff1a; <view class"view2"> <text class"test1">留言&#xff1a;</text><input type"text" class"input1" bindinput"ipt"/><button class"btn" bindtap"btn"…

spring mvc学习

第四章 Spring MVC 第一节 Spring MVC 简介 1. Spring MVC SpringMVC是一个Java 开源框架&#xff0c; 是Spring Framework生态中的一个独立模块&#xff0c;它基于 Spring 实现了Web MVC&#xff08;数据、业务与展现&#xff09;设计模式的请求驱动类型的轻量级Web框架&am…

重要性采样求泊松分布期望

我也不是数值模拟或者统计物理的学生。所以蒙特卡洛之类的概念性的东西也说的不好。下面是我的统计物理的期末作业。关于用重要性分布求离散函数泊松分布的数学期望的。 我觉得这个挺有意思的&#xff0c;所以也花了点时间加上chatgpt折腾了一下&#xff0c;提供一个参考吧&…

CatBoost原生接口和Sklearn接口参数详解

CatBoost原生接口和Sklearn接口参数详解 LightGBM原生接口和Sklearn接口参数详解XGBoost原生接口和Sklearn接口参数详解CatBoost一、Sklearn风格接口CatBoostRegressor参数CatBoostRegressor.fit参数CatBoostRegressor.predict参数 二、Catboost原生接口CatBoost PoolCatBoost可…

「媒体邀约」全国巡演,多地推介会,如何做好媒体宣传

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传加速季&#xff0c;100万补贴享不停&#xff0c;一手媒体资源&#xff0c;全国100城线下落地执行。详情请联系胡老师。 我们在做多地活动的时候&#xff0c;比如演唱会&#xff…

【LeetCode】十一、滑动窗口:长度最小的子数组 + 定长子串的元音最大数目

文章目录 1、滑动窗口2、leetcode209&#xff1a;长度最小的子数组3、leetcode1456&#xff1a;定长子串中元音的最大数目 1、滑动窗口 如下&#xff0c;有一个数组&#xff0c;现三个元素为一组&#xff0c;求最大的和&#xff0c;自然可以while循环实现&#xff1a;i 、i1、…

数据结构(Java):迭代器遍历【底层源码解析】

1、引言 我们知道&#xff0c;对于List系列集合&#xff0c;添加的元素是有序、可重复、有索引的&#xff1b;而对于Set系列集合&#xff0c;添加的元素是无序、不重复、无索引的。 那么使用for循环通过下标来对Set系列集合进行遍历&#xff0c;那显然是不行的。 迭代器就可…

Spring的AOP概念详解

AOP详解&#xff1a; 1.介绍&#xff1a; 面向切面编程&#xff0c;是一种将非业务代码与业务代码进行分离的一种思想&#xff0c;在实际开发中,往往有许多重复操作,例如事务提交,权限验证,保存口志等功能需要在业务代码重复调用&#xff0c;面向切面编程,就是将非业务代码进…

51单片机-让一个LED灯闪烁、流水灯(涉及:自定义单片机的延迟时间)

目录 设置单片机的延迟&#xff08;睡眠&#xff09;函数查看单片机的时钟频率设置系统频率、定时长度、指令集 完整代码生成HEX文件下载HEX文件到单片机流水灯代码 (自定义延迟时间) 设置单片机的延迟&#xff08;睡眠&#xff09;函数 查看单片机的时钟频率 检测前单片机必…

算法:递归数组求和

递归数组求和 给定一个数组&#xff0c;求所有元素的和 算法思想&#xff1a; 传入数组和下标&#xff0c;如果下标越界就返回0&#xff0c;否则返回当前值和下一个值的和&#xff0c;递归操作。 Java实现&#xff1a; public class Main {public static int func(int[] a…

数据结构第09节:二叉树

树是一种非线性的数据结构&#xff0c;它由节点和边组成。每个节点可以有零个或多个子节点。在树中&#xff0c;没有循环&#xff0c;并且所有的节点都是通过边连接的。 树的基本概念&#xff1a; 根节点&#xff1a;没有父节点的唯一节点。子节点&#xff1a;一个节点可以直接…

JVM的五大内存区域

JVM的五大内存区域 JVM内存区域最粗略的划分可以分为 堆 和 栈 &#xff0c;当然&#xff0c;按照虚拟机规范&#xff0c;可以划分为以下几个区域&#xff1a; JVM内存分为线程独享区和线程共享区&#xff0c; 其中 方法区 和 堆 是线程共享区&#xff0c; 虚拟机栈, 本地方法…

[知识点]-[宽搜bfs]

离开中山路 #include<bits/stdc.h> #define fi first #define se second #define pb push_back #define PII pair<int,int > #define int long long #define IOS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);using namespace std;const int N 1e6…

延边幼儿园1*3 OLED柔性屏翻页一体机安装项目

一、产品介绍 本次项目在吉林省延吉市延边幼儿园内&#xff0c;引入了先进的55寸1*3 OLED柔性屏翻页一体机。该设备集高清显示、灵活翻页、互动教学等功能于一体&#xff0c;专为现代幼儿教育环境设计&#xff0c;旨在通过科技手段提升教学质量&#xff0c;丰富教学手段&#x…

数据库重命名脚本

由于原本的数据库命名不规范&#xff0c;需要进行重新命名&#xff0c;最终确定方案为新建数据库后迁移表&#xff0c;以下为脚本。 #!/bin/bashecho -e "\033[34m 此脚本功能为修改数据库名称&#xff08;需要新建数据库后将数据迁移到新数据库&#xff09;&#xff0c;…

rtsp client c++

直接上代码&#xff1a;源码 void doRtspParse(char *b) {std::vector<std::string> res;char *ptr b, *ptr1 nullptr;while ((ptr1 strstr(ptr, "\r\n"))) {res.push_back(std::string(ptr, ptr1 - ptr));ptr ptr1 2;}int len ptr - b;b[len - 1] \0;…

1.1.2数据结构的三要素

一.数据结构的三要素 数据结构这门课着重关注的是数据元素之间的关系&#xff0c;和对这些数据元素的操作&#xff0c;而不关心具体的数据项内容 。 1.逻辑结构 &#xff08;1&#xff09;集合结构 &#xff08;2&#xff09;线性结构 数据元素之间是一对一的关系。除了第一个…