广告
返回顶部
首页 > 资讯 > 后端开发 > Python >windows系统IIS部署Django项目的实践
  • 366
分享到

windows系统IIS部署Django项目的实践

2024-04-02 19:04:59 366人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、pythonWSGI部署原理二、准备部署环境三、安装和配置IIS 四、开放端口 五、本地部署 六、问题采用IIS服务器部署相比Django提供的

采用IIS服务器部署相比Django提供的开发者服务器具有更好的并发访问能力,性能更加稳定。

一、Python WSGI部署原理

        python WEB项目的部署的基本原理,是基于一种WSGI的框架协议。

        WSGI协议主要包括Web服务器和应用服务器两部分。

        (1)Web服务器:即Http服务器,按照HTTP接受用户HTTP请求并提供并发访问,调用Web应用处理业务逻辑。

        (2)Python Web应用:应用程序接受由服务器转发的request,处理对应的请求,并将处理结果返回服务器。

本文章采用IIS+DjanGo的方式构建和部署Web项目。

二、准备部署环境

        (1)cmd终端输入:

pip freeze>requirements.txt //搜集python依赖包及对应版本号,生成txt文件

        (2)在需要部署项目的服务器上安装依赖包(pip)

pip install -r requirements.txt //文件requirements.txt为上一步cmd命令中生成

        这是我自己的python依赖包:(依自己需求安装依赖包)

三、安装和配置IIS

        打开windows的“控制面板”→“程序和功能”→“打开或关闭Windows功能”,找到Internet InfORMation Services(Internet 信息服务),按照下图进行勾选。

 四、开放端口

        我将自己web应用访问端口设置为了8001端口,设置步骤如下。 

        (1)打开windows的“控制面板”→“系统和安全”→“Windows Defender防火墙”,单机进入防火墙配置界面。然后界面左侧进入高级设置。

         (2)进入高级安全Windows Defender防火墙配置界面,选中左侧“入站规则”栏目,在选中右侧操作栏的“新建规则”选项。弹出的向导中选择“端口(o)”。

          (3)点击下一步,输入自己要设的端口号(我设置的8001),然后一直点下一步,命名规则,完成。就可以在入站规则看到这个规则。

        (4)在浏览器地址输入localhost访问IIS测试,如果出现以下页面,表示安装成功

 五、本地部署

        (先放文件夹,需要注意的有,在项目根目录和static文件夹中各有一个web.config文件。)

        第四部分正文开始:

        (1)安装python依赖包wfastcgi,并启动(需管理员权限)

pip install wfastcgi 
//启动wfastcgi,,   停止命令为:wfastcgi-disable 
wfastcgi-enable  

 输出:“python路径” 和 “wfastcgi解释器核心脚本路径”,用"|"隔开

已经在配置提交路径“MacHINE/WEBROOT/APPHOST”向“MACHINE/WEBROOT/APPHOST”的“system.webServer/fastCgi”节应用了配置更改
"d:\python395\python.exe|d:\python395\lib\site-packages\wfastcgi.py" can now be used as a FastCGI script processor

        (2)配置web.config文件

        为了能够让IIS服务器准确的运行项目,需要配置和设定一些参数,包括项目路径、配置文件路径、解析器等。在django项目文件中创建web.config文件(和manage.py在同一文件夹)。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <add name="Python FastCGI" 
                 path="*" 
                 verb="*" 
                 modules="FastCgiModule" 
                 scriptProcessor="d:\python395\python.exe|d:\python395\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="C:\Users\yangz\Desktop\ZC_System-V20.6_11-09\ZC_System-V20.6" />
        <add key="DJANGO_SETTINGS_MODULE" value="ZC_System.settings" />
    </appSettings>
</configuration>

                有三个参数需要注意:

                1、scriptProcessor中冒号部分为前面对应的Python和wfastcgi解释器核心脚本路径。

                2、<add key="PYTHONPATH" value="C:\Users\yangz\Desktop\ZC_System-V20.6_11-09\ZC_System-V20.6" />,  (这里跟manage.py同一目录)

                3、<add key="DJANGO_SETTINGS_MODULE" value="ZC_System.settings" />,这个.settings文件一开始我配置的时候也没有,可以自己配置。没有该文件的同学可以参考下面链接自行配置。

配置"DJANGO_SETTINGS_MODULE"

       (3)静态文件文件迁移

        1、进入到static文件夹中创建第二个个web.config文件。该文件用于将项目所有的静态资源文件CSS,js,img等全部导入到根目录下的static文件夹。方便服务器查找静态文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
        <handlers>
          	<remove name="Python FastCGI"/>
        </handlers>
    </system.webServer>
</configuration>

         2、打开项目配置文件setting.py

        将语句“STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]”替换为 “STATIC_BOOT = os.path.join(BASE_DIR, 'static')”。

//原语句注释掉
# STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]  
//现语句
STATIC_BOOT = os.path.join(BASE_DIR, 'static')        

        cmd终端进入django项目根目录:执行命令

python manage.py collectstatic

        (4)IIS创建网站

        “控制面板”→“系统和安全”→“管理工具”→“Internet Information Services (IIS)管理器”,打开后左侧上方选中网站栏目,右键选择添加网站进入配置。

         此时配置完成:访问http://127.0.0.1:8001即可进入web应用。

 六、问题

        (1)[Errno 13] Permission denied: 'C:\\Users\\yangz\\Desktop\\ZC_System-V20.6_11-09\\ZC_System-V20.6\\templates\\ShouYe\\Login.html'

 解决方法:找到django项目文件夹,右键属性,选择安全,编辑用户和组,添加用户“Everyone”并选择完全控制。选择应用。

         (2)如果在根目录中没有****.settings问件,会弹出缺少MODULE,

配置***.settings文件

到此这篇关于windows系统IIS部署Django项目的实践的文章就介绍到这了,更多相关IIS部署Django项目内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: windows系统IIS部署Django项目的实践

本文链接: https://www.lsjlt.com/news/142017.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • windows系统IIS部署Django项目的实践
    目录一、PythonWSGI部署原理二、准备部署环境三、安装和配置IIS 四、开放端口 五、本地部署 六、问题采用IIS服务器部署相比django提供的...
    99+
    2022-11-13
  • Linux系统怎样部署Django项目
    这期内容当中小编将会给大家带来有关Linux系统怎样部署Django项目,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统中部署Django项目安装Django、Nginx和uWSGI1.确定已...
    99+
    2023-06-28
  • Windows系统下如何使用nginx部署vue2项目
    这篇文章主要讲解了“Windows系统下如何使用nginx部署vue2项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Windows系统下如何使用nginx部署vue2项目”吧!第一步:下...
    99+
    2023-07-05
  • Windows系统下使用nginx部署vue2项目的全过程
    目录前言:第一步:下载安装nginx第二步:打包部署vue2项目总结:前言: 今天产品经理过来找我,问我有没有什么办法能够让前端做的项目给他看,他要测试一下看看我们开发的需求有没有对...
    99+
    2023-03-19
    nginx windows vue nginx环境搭建部署 windows nginx 配置vue项目
  • 将django项目部署到centos的踩坑实战
    前言 本文介绍的是将django项目部署到centos的遇到的一些问题,关于将Django项目部署到CentOs服务器中的步骤可以参考这篇文章:https://www.jb51.ne...
    99+
    2022-11-12
  • 使用Portainer部署Docker容器的项目实践
    目录一、背景二、操作步骤三、安装Portiner3.1 docker部署3.2 节点初始化3.3 功能初探四、管理节点4.1 开始添加节点4.2 开放API控制4.3 验证端口状态4...
    99+
    2022-11-12
  • docker-compose+nginx部署前后端分离的项目实践
    目录安装docker安装必要的系统工具软件源信息切换安装配置镜像加速器安装docker-compose安装权限修改解决js、css文件404的情况Vue项目配置安装docker 安装...
    99+
    2022-11-13
  • Linux系统下部署项目的设置方法
    一、修改防火墙设置,开放对应的端口 修改linux系统防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一条  -A RH-Firewall-1-INP...
    99+
    2022-06-04
    linux 部署项目 linux项目部署
  • Java将本地项目部署到Linux服务器的实践
    将本地项目博客系统部署到Linux服务器 1.连接到远程的MYSQL数据库,并且执行创建博客数据库的脚本2.检查项目中的连接MYSQL服务器的地址和密码(如果本地密码和服务器一致,此...
    99+
    2022-11-13
  • javaWeb项目部署到阿里云服务Linux系统的详细步骤
    目录项目部署到阿里云Linux系统1、在虚拟机中创建一个指定安装软件的目录2、安装项目部署的java1.8环境2.1、上传文件2.2、解压文件1、运行前置目录查看是否有安装的jdk2...
    99+
    2022-11-13
  • Web项目部署在Tomcat上的最佳实践和常见问题解决方案
    Tomcat部署Web项目的最佳实践和常见问题解决方法引言:Tomcat作为一个轻量级的Java应用服务器,在Web应用开发中得到了广泛应用。本文将介绍Tomcat部署Web项目的最佳实践和常见问题解决方法,并提供具体的代码示例,帮助读者更...
    99+
    2023-12-29
    tomcat 部署 Web项目
  • 项目管理中的工程与系统概述与实践
    项目管理中的工程与系统是两个关键的概念,它们在项目执行过程中起着至关重要的作用。本文将从以下几个方面详细介绍这两个概念,包括它们的定义、重要性、相互关系以及在项目管理中的应用。 项目管理中的工程与系统是一个重要且复杂的概念。首先,我们需要明...
    99+
    2023-11-22
    项目管理 工程 系统
  • 工程建设项目信息化管理系统的应用与实践
    随着科技的不断发展,工程建设项目信息化管理系统得到了广泛应用。本文将探讨工程建设项目信息化管理系统的基本概念、功能以及实践应用,以期为相关企业和部门提供参考和借鉴。 工程建设项目信息化管理系统是一种基于信息技术的项目管理系统,用于管理和控...
    99+
    2023-12-10
    信息化管理 工程建设项目 系统
  • PHP开发者必读:Linux系统下打包Laravel项目的最佳实践是什么?
    Laravel是一款基于PHP语言的开源Web应用框架,它提供了丰富的功能和工具,可以帮助开发者快速构建高质量的Web应用程序。在开发Laravel项目时,通常需要将代码打包成可执行文件,以便在不同的环境中部署和运行。本文将介绍Linux...
    99+
    2023-06-03
    linux 打包 laravel
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作