windows部署django服务器

windows部署django服务器

1、安装IIS

1.1 控制面板-----程序----程序和功能----启用或关闭windows功能

1.2安装IIS服务器,完成后,重新进入,把CGI安装进系统

2、安装python与虚拟环境

2.1 安装python

注:关注python的版本号

2.2 安装virtualenv虚拟环境

复制代码
pip install virtualenv
pip insatll virtualenvwrapper-win

2.3 创建一个虚拟环境

复制代码
# djangodemo为放置django项目环境的文件夹
mkvirtualenv djangodemo

2.4进入虚拟环境

复制代码
# 一般情况下创建后自动进入虚拟环境
#当需要查看当前系统下,具有哪些环境时可以使用
workon
复制代码
# 进入django项目的虚拟环境中
workon djangodemo

在虚拟环境下,安装的任何python包,都只会对此虚拟环境作用,不会影响其他的全局环境

2.5Pycharm导出虚拟环境,实现环境迁移

1、导出

复制代码
pip freeze > environment.txt

2、在其他环境安装

复制代码
pip install -r environment.txt

3、离线包

复制代码
pip download -r requestments.txt -d ./pip_packages 

#从当前环境的网络中下载requestments.txt中写的包,下载到当前目录下的pip_packages目录中,这时候你会发现,里面有很多依赖,还有一些whl文件

4、安装

复制代码
pip install --no-index --find-links=d:\packages -r environment.txt 

--find-links指定的是包文件的存放地址,-r指定的是txt文件的位置

复制代码
pip list 查看效果

激活当前虚拟环境

复制代码
activate.bat

退出虚拟环境

复制代码
deactivate.bat

3、安装wfastcgi

复制代码
pip install wfastcgi

# 使用国内的镜像
pip install -i https://pypi.doubanio.com/simple/ wfastcgi

# 启动服务
wfastcgi-enable
  • 把wfastcgi.py文件拷贝到网站IIS目录下

3、创建web.config

在网站根目录新建web.config文件

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <modules>
            <remove name="WebDAVModule"/>
        </modules>
        <handlers>
            <remove name="WebDAV"/>
            <add name="Python FastCGI"
                 path="*"
                 verb="*"
                 modules="FastCgiModule"
                 scriptProcessor="*"
                 resourceType="Unspecified"
                 requireAccess="Script"/>
        </handlers>
    </system.webServer>
    <appSettings>
        <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()"/>
        <add key="PYTHONPATH" value="*"/>
        <add key="DJANGO_SETTINGS_MODULE" value="*"/>
    </appSettings>
</configuration>
  • scriptProcessor 后的参数是我们启动wfastcgi复制下的地址.
  • PYTHONPATH 的 value是我们项目的地址 如 C:\www\server
  • DJANGO_SETTINGS_MODULE 的 value 是我们项目的中的sttings所在,如server.settings

在静态文件夹static下创建文件 web.config(此步骤也可不做)

复制代码
<?xml version="1.0" encoding="UTF-8"?>
   <configuration>
         <system.webServer>
         	<handlers>
         		<clear/>
         		<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
        	 	</handlers>
         </system.webServer>
</configuration>      

4、网站配置

修改应用程序池

  • 应用程序池→选中服务→高级设置

设置IIS

重启服务,浏览网页,看django是否正常运行

若报错:

不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或...

  • 用管理员权限在cmd中运行(不要再powershell中运行)

    %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
    %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

相关推荐
丸子哥哥5 小时前
同一个域名,如何添加多个网站?
服务器·前端·nginx·微服务
Lenyiin6 小时前
《 Linux 修炼全景指南: 七 》 指尖下的利刃:深入理解 Vim 的高效世界
linux·运维·服务器·vim·lenyiin
Q_Q5110082858 小时前
python+django/flask的情绪宣泄系统
spring boot·python·pycharm·django·flask·node.js·php
love530love8 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
sulikey8 小时前
Linux基础指令与权限管理深度解析:从入门到精通
linux·运维·服务器·ubuntu·centos·linux命令·linux权限
周杰伦fans9 小时前
C# - Task 是什么?想象一下你在餐厅点餐
服务器·开发语言·c#
HalvmånEver10 小时前
Linux:进程的切换与调度(进程四)
linux·运维·服务器
程序设计实验室10 小时前
性能提升4倍!使用Granian作为Django项目的ASGI服务器
django·djangostarter
泡沫·11 小时前
8.项目实战:Ecshop
服务器