基于Windows平台的Django本地部署和腾讯云服务器上部署(1)

1447 篇文章 12 订阅
1447 篇文章 7 订阅
本文档详细介绍了如何在Windows 7环境下,使用IIS服务器部署Python 3.6.1和Django 1.11.14项目。首先创建并验证Django项目无误,然后安装并配置IIS,通过wfastcgi模块连接Python解释器。接着创建web.config文件以指定WSGI处理器和 Django 设置。最后,处理静态文件并允许跨域访问,实现本地和局域网内正常浏览。
摘要由CSDN通过智能技术生成

环境:Windows 7操作系统,  IIS     python3.6.1    django 1.11.14   

1.新建一个django项目

这里不会创建项目的可以参考我之前的三篇博客,里面讲的很详细(从零基础搭建Python环境和创建Django项目),当然我的博客里面用的是VS2015来创建项目,直接命令行django-admin创建也是一样的。

这里注意一点:确保python的安装路径中没有中文,没有空格。   比如我的安装路径是  D:\toolplace\python3.6.1

新建的项目名叫 MyCeShi  ,创建的地址在  D盘code文件夹下。

运行下项目保证没有错误。(这里我为了好看用了bootstrap前端框架,不用也可以的)

python manage.py runserver 127.0.0.1:8000

网站效果如下:

以上我们采用的是django默认的开发服务器来渲染网站,项目正式上线的话需要部署在生成服务器上才能满足良好的并发运行需求。下面我们开始讲解如何将django项目部署到生产服务器上。

2.配置IIS服务器

IIS是Windows推出的服务器,在Windows服务器下进行项目部署采用IIS是比较方便的,操作也比较简单。

2.1 安装IIS。

控制面板—程序和功能—打开或关闭windows功能——Internet 信息服务。然后按照下图进行勾选

然后控制面板中找到管理工具,选择

双击打开。

3. 安装Python Web的生产环境包wfastcgi

为了将django项目能够部署到IIS上需要安装额外的一个Python包。

以管理员身份打开命令行工具进行安装(千万记住要用管理员身份!!!)

输入

pip install wfastcgi

由于我的电脑安装的是Python3.6.1版本,因此自动给我安装的是wfastcgi-3.0.0版本。

安装完成后需要启动wfastcgi

我们输入下面的命令

wfastcgi-enable

得到

Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\windows\system32>wfastcgi-enable已经在配置提交路径“MACHINE/WEBROOT/APPHOST”向“MACHINE/WEBROOT/APPHOST”的“system.webServer/fastCgi”节应用了配置更改"D:\toolplace\python3.6.1\python.exe|D:\toolplace\python3.6.1\lib\site-packages\wfastcgi.py" can now be used as a FastCGI script processor C:\windows\system32>

这里说明安装成功了       记住冒号中的一串字符串,复制下来待会有用   

D:\toolplace\python3.6.1\python.exe|D:\toolplace\python3.6.1\lib\site-packages\
wfastcgi.py

3. 配置IIS和django网站

我们在Django项目的根目录下创建一个web.config的文件,里面内容如下

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

这里对照着自己的网站,修改三处地方替换即可

  • scriptProcessor用刚才得到的字符串代替
  •    这里的value要定位到当前的项目根目录(跟manage.py同目录)
  •  这里写入app的名字   

然后启用IIS新建网站,为了不冲突采用8000端口

浏览网站会得到如下结果

说明可以访问了,但是明显发现CSS等静态文件没有访问到。我们接着做如下修改

首先对我们的django项目进行静态文件资源迁移,在项目根目录下输入如下命令

python manage.py collectstatic

结束后项目根目录下会多出一个static文件夹

然后我们在static文件夹中添加一个web.config文件,文件内容如下:

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

这里注意 remove name中的值必须与之前的web.config中的一致

刷新网页就可以出现最终的页面。到这里本地部署完成。

为了可以局域网访问,修改settings.py文件

将  ALLOWED_HOSTS = []         改为   ALLOWED_HOSTS = ['*',] 即可。让网站重启下即可正常局域网访问(到这里如果手机也在一个无线路由器下面的话可以试试手机浏览网页的效果)。因为我采用的VS2015创建的django项目自带了bootstrap前端框架,所以做出来的网页也很适合手机访问(自适应)。手机浏览效果图如下:

有了上面的基础,接下来我们可以开始进行云服务器部署,使得我们的网页外网可以访问。这里我使用的是腾讯云服务器,windows操作系统。腾讯云服务器相关购买和使用可以参考我之前的博客:  https://mp.csdn.net/postedit/80855313

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值