环境准备

本文将介绍如何在Windows系统上部署Django web项目,本次部署基于下面的架构:

Windows10 64位 + Python3.6 + Django1.11 + Apache2.4 + mod_wsgi

在本文中,我着重介绍在部署Django过程中关于mod_wsgi的安装和在Apache httpd.conf中的关键配置内容,其余部分的安装和配置,可参考本站相关链接内容自行解决。

各位先莫慌,总体而言,在Windows下部署Django比在Linux下部署要简单得多!相信我,跟着我写的来,分分钟搞定。走起,Now!

Python虚拟环境

本节略。详见本站链接,戳这里>>Python虚拟环境安装

Apache安装与配置

本节略。详见本站链接,戳这里>>Apache安装Apache配置。对于Django,无需配置虚拟目录。

安装mod_wsgi和获取其配置信息

进入Python扩展库官网下载mod_wsgi模块:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

下载好了,现在进入Python虚拟环境,执行如下命令进行安装(用pip安装)和获取其配置信息(输入:mod_wsgi-express module-config),后面的配置中会用到这些配置信息。

Django与Apache的配置

首先记得修改:

Define SRVROOT "C:/Program Files/Apache24"    # 修改Apache实际绝对安装目录
Listen 8080                 # 监听端口
ServerName www.wcwnina.com:8080     # 可访问的主机,域名。需要在Windows的hosts文件中做IP映射

然后在 httpd.conf 配置文件末尾添加以下内容:

##--------------- Django项目部署配置 ---------------##
# 声明项目根目录变量
Define DjangoRoot "D:/EduOnline/eduonline" # 添加"mod_wsgi.so"模块,这三行都是命令"mod_wsgi-express module-config"显示出来的
LoadFile "C:/Program Files/Python36/python36.dll"
LoadModule wsgi_module "d:/eduonline/vpy-eduonline/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:/eduonline/vpy-eduonline" # 指定项目的"wsgi.py"配置文件路径
WSGIScriptAlias / "${DjangoRoot}/eduonline/wsgi.py" # 指定Django项目根目录,并配置访问权限。WSGIPythonPath取代DocumentRoot配置,或者保留DocumentRoot一致
WSGIPythonPath "${DjangoRoot}"
<Directory "${DjangoRoot}">
Require all granted
</Directory> # 项目静态文件配置
Alias /static "${DjangoRoot}/static"
<Directory "${DjangoRoot}/static">
AllowOverride None
Options None
Require all granted
</Directory> # 项目media文件配置, 用户上传图片等媒体文件
Alias /media "${DjangoRoot}/media"
<Directory "${DjangoRoot}/media">
AllowOverride None
Options None
Require all granted
</Directory>

然后进入Django项目的settings.py文件下进行配置。

# 上线时必须将DEBUG设为False
DEBUG = False # 可指定主机,若元素为'*',表示所有同一局域网内的网络均可被访问
ALLOWED_HOSTS = ['*']

重启Apache服务

修改完配置后,只需重启Apache服务即可,此时会连着wsgi服务一并重启,因为httpd.conf配置中加载了mod_wsgi模块。

CMD重启Apache命令:

httpd -k restart -n apache         # apache为Windows托管服务名
或:
net stop apache 然后 net start apache # Windows服务管理命令,没有restart

测试效果

访问测试:在浏览器地址栏输入"www.wcwnina.com:8080"或"localhost:8080"回车就可以进入Django项目网站了!其中www.wcwnina.com为httpd.conf中配置的主机域名ServerName。

效果:

OK,就这么简单,大功告成!

  至此。转载请注明出处。

[ 本站相关链接:>>Linux环境下部署Django ]

Django Windows环境下部署的更多相关文章

  1. Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)

    本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...

  2. 在Windows环境下部署Axis2/C服务

    Apache Axis2/C是C语言实现的网络服务引擎,基于Axis2架构,支持SOAP1.1和SOAP1.2协议,并且支持RESTful风格的Web service. 下面是本人在Windows 7 ...

  3. Windows环境下部署Tomcat服务器图文教程

    Tomcat是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. 本文将详细介绍在Windows环境下 ...

  4. 在windows环境下部署nuxt项目(线上发布部署)

    因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...

  5. Windows环境下部署MySQL主从并模拟升级到8.0

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.部署实例 1.下载2个软件 http://ftp.kaist.ac.kr/mysql/Downloads/MySQL- ...

  6. Windows环境下搭建MosQuitto服务器

    Windows环境下搭建MosQuitto服务器 2018年04月16日 22:00:01 wistronpj 阅读数:1185  摘自:https://blog.csdn.net/pjlxm/art ...

  7. Vmware ESX5i 环境下部署Windows Storage Server 2008 R2

    ESX5i 环境下部署Windows Storage Server 2008 R2       Windows Storage Server 2008 这款产品微软早已发布,WSS2008是基于Win ...

  8. Django框架学习笔记(windows环境下安装)

    博主最近开始学习主流框架django 网上大部分的安装环境都linux的 由于博主在windows环境下已经有了 Pycharm编辑器 ,所以决定还是继续在windows环境下学习 首先是下载 链接 ...

  9. windows环境下安装部署并启用zkui的web图形界面

    在此之前的工作:不是本机部署的三个服务器最为伪集群的zookeeper环境,并将三个为服务启动起来. 然后才有了下面的工作. 1. 首先,zkui项目地址:https://github.com/Dee ...

随机推荐

  1. [Swift]LeetCode310. 最小高度树 | Minimum Height Trees

    For an undirected graph with tree characteristics, we can choose any node as the root. The result gr ...

  2. [Swift]LeetCode543. 二叉树的直径 | Diameter of Binary Tree

    Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...

  3. [Swift]LeetCode672. 灯泡开关 Ⅱ | Bulb Switcher II

    There is a room with n lights which are turned on initially and 4 buttons on the wall. After perform ...

  4. [Swift]LeetCode902. 最大为 N 的数字组合 | Numbers At Most N Given Digit Set

    We have a sorted set of digits D, a non-empty subset of {'1','2','3','4','5','6','7','8','9'}.  (Not ...

  5. 开启SSH

    开启 ssh 远程连接 1.修改 sshd_config 输入 sudo vim /etc/ssh/sshd_config 做如下修改 PermitRootLogin yes [需要把注释 #号去掉, ...

  6. Python数据写入csv格式文件

    (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...

  7. Python中的json模块

    在Python内置函数中,有一个eval()函数可以将字符串内容转换成Python对象,比如我现在将一个字典 dic = {"name":"pengfy"}写到 ...

  8. Vue中实现一个无限加载列表

    参考 https://www.jianshu.com/p/0a3aebd63a14 一个需要判断的地方就是加载中再次触发滚动的时候,不要获取数据. <!DOCTYPE html> < ...

  9. Linux 中改变主机名的 4 种方法

    今天,我们将向你展示使用不同的方法来修改主机名.你可以从中选取最适合你的方法. 使用 systemd 的系统自带一个名为 hostnamectl 的好用工具,它可以使我们能够轻易地管理系统的主机名. ...

  10. Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy

    1. 高考派大学数据----写在前面 终于写到了scrapy爬虫框架了,这个框架可以说是python爬虫框架里面出镜率最高的一个了,我们接下来重点研究一下它的使用规则. 安装过程自己百度一下,就能找到 ...