IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> windows通过iis部署Django项目全篇详解 -> 正文阅读

[Python知识库]windows通过iis部署Django项目全篇详解

?步骤:

  • 编写自己的Django项目,进行基础设置后进行打包?
  • 开启一台服务器,并开启 IIS 和 CGI?
  • 下载 python环境 和所需用到的 数据库环境??
  • 去 wwwroot目录 下新建一个网站目录,并将网站项目移进来,并进行项目的数据库连接测试??
  • 进入到 控制面板 中的 管理工具 中的 iis管理器 中,创建一个网站,网站的根目录就是wwwroot内建的项目目录??
  • 下载并创建 python虚拟环境 ,进入到项目根目录位置下载依赖包,并下载 wfastcgi??
  • 到项目根目录内添加 web.config文件 并进行配置?
  • 到网站内添加 虚拟目录配置静态文件,并到静态目录内添加 web.config??
  • 到程序眏射内确认 hander ,到程序应用池内将标识改为本地系统?
  • 重启并访问网站

实例:?

1、修改settings.py文件,关闭调试模式。


# 调试模式,开发阶段为True,项目部署上线就要改为False,否则会泄露项目相关信息。
DEBUG = False
 
# 域名访问权限。设置可访问的域名,当DEBUG = True,ALLOWED_HOSTS = []空列表时,项目只允许localhost在浏览器访问。
# 当DEBUG = False,ALLOWED_HOSTS = 必填,否则程序无法启动。如果要所有域名都可以访问可设为
ALLOWED_HOSTS = [‘*’]

2、打包文件,进入到项目的根目录内输入?pip freeze > requirements.txt?

将该项目所需用到的依赖包存储在??requirements.txt? 文件中,一会到服务器内进行下载。

3、到 控制面板 中的 程序和功能 中的 启用和关闭windows功能 中打开 iis服务 和 cgi

?4、下载 python 和项目所需的 数据库环境

5、到 wwwroot中创建一个文件该文件是用于存放项目的网站根目录。其实创在哪里都可以,但推荐创在这边,创在其他对方可能会引发一些权限问题,所以尽量建在这边,一个文件代表一个网站。然后进入到创建的文件内将项目移进来需要用到数据库的需要在此时先去配置一下,可以先用 python manage.py runserver 运行一下,只要访问没问题即可

?

?友情提示,需要检查一下 requirements.txt文件,该文件内有可能会包含一些本地包,需要去获取一些本地离线包并放在对应路径下,一会下载依赖包时才能下载得了。

6、进入到 控制面板 中的 管理工具 中的 iis管理器 中,创建一个网站,网站的根目录就是 wwwroot 内建的项目目录

7、下载 python虚拟环境在虚拟环境中安装的包不会和全局的包发生冲突,所以需要下载一个虚拟环境,一个虚拟环境代表一个网站的python环境。

pip install virtualenv
pip install virtualenvwrapper-win

?输入?mkvirtualenv text?创建名为 text 的虚拟环境

可以用 workon 命令来查看自己的虚拟环境,加名字可使用指定的虚拟环境。?

?

?8、进入到网站根目录位置下载依赖包和??wfastcgi 。

pip install -r requirements.txt?   // 下载依赖包

?安装cgi,用于当django和web间的桥梁用,

pip install wfastcgi  

将安装好的cgi文件移动到项目根目录下,防止权限问题

9、到项目根目录内添加 web.config 文件并进行配置

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
            <remove name="StaticFile" />  
                <!-- 添加一个名为 djangofastcgi 的东西,其连接的位置是python的环境位置 和 wfastcgi 的位置 -->
                <add name="djangoFastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Users\Administrator\Envs\text\Scripts\python.exe|C:\inetpub\wwwroot\text\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />

            
            <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />

            </handlers>
        </system.webServer>
        <appSettings>
            <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
            <!-- 添加项目设置,该表情内存放的是项目的根目录 -->
            <add key="PYTHONPATH" value="C:\inetpub\wwwroot\text" />

            <!-- 该标签内要存放项目的settings文件的位置 注意是项目目录内 . 的文件-->
            <add key="DJANGO_SETTINGS_MODULE" value="qq.settings" />

        </appSettings>
    </configuration>

10、当项目需要用到静态文件时还需要添加一下静态文件的目录、到网站内添加虚拟目录配置静态文件,

?需要注意的一点就是,这边的别名就是你在settings文件中设置的静态文件的别名,路径就是项目内静态文件的位置。

然后到静态目录内添加 web.config

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>

?11、到 程序眏射 内确认hander,到 程序应用池 内将标识改为本地系统

当点击处理程序眏射时,出现这样的情况是因为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

最后注意重启一下网站,到此就完成发布了,可以通过指定公网ip去访问你的网页了。

?

一些问题解决:

管理后台样式丢失解决

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

步骤:

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

#指定样式收集目录,路径一般为项目里的static文件夹

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

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

python manage.py collectstatic

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

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:28:59  更:2022-10-17 12:32:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 2:30:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计