Django项目部署本地windows IIS(详细版)和static文件设置(页面样式正常显示)

news/2024/7/24 7:29:26 标签: django, python, 后端

目录

必要条件:

一、下载并启用wfastcgi

二、window安装 IIS功能

三、IIS管理器中添加网站

1、复制项目

2、复制wfastcgi.py文件

3、创建文件web.config

4、添加网站,填写信息

5、启动fastcgi程序

6、修改进程标识

四、static文件设置和正确显示


必要条件:

已经有一个完整的django项目搭建好,在vscode或者pycharm可以正常运行

通过python manage.py runserver能够正常访问

部署到本地window IIS服务器:

django项目只是我们的一个应用项目,想要实现不用打开vscode 输入命令来启动项目,用户就可以通过ip地址加端口来访问,就需要服务器帮助我们部署好,常见的服务器有apache、nginx、IIS等,这里就只讲window系统下 IIS服务器部署网站的过程。

一、下载并启用wfastcgi

这里可以通过cmd窗口下载并启动

pip install wfastcgi
wfastcgi-enable

输出得到类似这种信息c:\Users\ss\AppData\Local\Programs\Python\Python37\python.exe|c:\Users\ss\AppData\Local\Programs\Python\Python37\lib\site-packages\wfastcgi.py"

|前面代表你的python运行环境(这里要确记这个环境是你django项目运行的环境,要保持一致),后面代表wfastcgi.py文件所在路径

二、window安装 IIS功能

按照这个路径启动或关闭windows功能

按照这个来勾选功能,然后点击确定进行安装,安装完后重启一下系统,打开IIS管理器

然后浏览器输入127.0.0.1出现以下这个页面代表IIS服务器正常启动了

三、IIS管理器中添加网站

1、复制项目

首先在C:\inetpub\wwwroot\目录下面创建一个文件夹比如demo 这个文件夹用于存放你创建好的django项目,比如这个是我创建好的项目,直接把这里的全部文件复制到刚刚创建的demo文件夹

2、复制wfastcgi.py文件

按照刚刚第一步输出的路径c:\Users\ss\AppData\Local\Programs\Python\Python37\lib\site-packages\找到wfastcgi.py文件,也复制到demo文件夹里面,也就是跟manage.py同一个目录

3、创建文件web.config

同样在这个目录下,创建文件web.config

这里主要修改scriptProcessor

scriptProcessor="c:\Users\ss\AppData\Local\Programs\Python\Python37\python.exe|c:\inetpub\wwwroot\demo\wfastcgi.py

要更换成自己的,前面是python执行环境,后面就是复制的wfastcgi.py路径

<add key="PYTHONPATH" value="C:\inetpub\wwwroot\demo" />这里换成自己的路径
            <add key="DJANGO_SETTINGS_MODULE" value="myFirWeb.settings" />这里的settings换成你自己创建的django项目名,我是前面的myFirWeb

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="c:\Users\ss\AppData\Local\Programs\Python\Python37\python.exe|c:\inetpub\wwwroot\demo\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:\inetpub\wwwroot\demo" />
            <add key="DJANGO_SETTINGS_MODULE" value="myFirWeb.settings" />
            <add key="WSGI_LOG" value="C:\inetpub\wwwroot\demo\error.log" />
        </appSettings>
    </configuration>

4、添加网站,填写信息

名称随便填写,物理路径就刚刚创建的C:\inetpub\wwwroot\demo,端口尽量选择其他例如8001这些,不要80,80是默认的已经使用的端口

5、启动fastcgi程序

创建完成后,点击网站www,找到处理程序映射,找到刚刚 创建的这个模块<add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule

点击进入,检查一下和web.config文件对应不,然后点击请求限制

即使没有什么改进也要点进来,进行,确认,确认,然后选择是,就相当于启动这个程序,这一步很重要

6、修改进程标识

点击应用程序池,点击自己的网站,点击右侧高级设置,修改进程标识为localsystem

然后重启网站,浏览器输入网址127.0.0.1:端口号,就可以正常访问

四、static文件设置和正确显示

我一开始按照上述方法弄了之后,页面的样式无法正常显示。

1、将STATICFILES_DIRS = (
   os.path.join(BASE_DIR, "static"),
 )修改成以下代码

STATIC_URL = '/static/'
STATIC_ROOT= os.path.join(BASE_DIR, 'static')

然后命令行窗口输入 > python manage.py collectstatic 选择yes覆盖

2、在static目录下创建文件web.config这个很重要

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
            	<remove name="Python FastCGI" />
            </handlers>
        </system.webServer>
    </configuration>

最后可以正常显示网站页面


http://www.niftyadmin.cn/n/5223110.html

相关文章

tcpdump使用心得

参考原文 https://danielmiessler.com/p/tcpdump/ 几个用例 tcpdump -i eth0 显示eth0网卡当前所有的抓包情况eth0是网卡名&#xff0c;可以通过ifconfig获得&#xff0c;也可以通过 tcpdump -D 显示当前可以监听的网卡 -i 参数表示接口&#xff0c;后跟要监听的网卡 tcpdu…

Android控件全解手册 - 任意View缩放平移工具-实现思路和讲解

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

【深入解析git和gdb:版本控制与调试利器的终极指南】

【本节目标】 1. 掌握简单gdb使用于调试 2. 学习 git 命令行的简单操作, 能够将代码上传到 Github 上 1.Linux调试器-gdb使用 1.1.背景 程序的发布方式有两种&#xff0c;debug模式和release模式release模式不可被调试&#xff0c;debug模式可被调试Linux gcc/g出来的二进制…

arXiv学术速递11.28

文章目录 CalibFormer: A Transformer-based Automatic LiDAR-Camera Calibration NetworkOpenNet: Incremental Learning for Autonomous Driving Object Detection with Balanced LossTrainwreck: A damaging adversarial attack on image classifiersInstruct2Attack: Langu…

在VMcentos7上用docker部署SELKS(IDS系统)

基本安装所需环境&#xff1a; 2核&#xff08;至少&#xff09;10 GB 可用 RAM&#xff08;经测试&#xff0c;4GB也能运行但会卡&#xff09;至少 30 GB 可用磁盘空间&#xff08;实际磁盘占用情况主要取决于规则数量和网络流量&#xff09;。建议使用 200GB SSD 级别。git,…

使用Pytorch从零开始构建扩散模型-DDPM

知识回顾: [1] 生成式建模概述 [2] Transformer I&#xff0c;Transformer II [3] 变分自编码器 [4] 生成对抗网络&#xff0c;高级生成对抗网络 I&#xff0c;高级生成对抗网络 II [5] 自回归模型 [6] 归一化流模型 [7] 基于能量的模型 [8] 扩散模型 I, 扩散模型 II 引言 去噪…

python 爬虫之 爬取网站信息并保存到文件

文章目录 前期准备探索该网页的HTML码的特点开始编写代码存入文件总的程序文件存储效果 前期准备 随便找个网站进行爬取&#xff0c;这里我选择的是(一个卖书的网站&#xff09; https://www.bookschina.com/24hour/62700000/ 我的目的是爬取这个网站的这个页面的书籍的名称以…

spark学习一-------------------Spark算子最详细介绍

Spark学习–spark算子介绍 1.基本概念 spark算子&#xff1a;为了提供方便的数据处理和计算&#xff0c;spark提供了一系列的算子来进行数据处理。一般算子分为action&#xff08;执行算子&#xff09;算子Transformation&#xff08;懒执行&#xff09;算子。2.Transformatio…