Apache如何部署django项目


Posted in Python onMay 21, 2017

在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的web服务器上。

安装apache

Apache是非常有名的web服务器软件,如果想让我们web项目运行几乎离不开它。

Apache官方网站:http://httpd.apache.org/

根据自己的环境,选择相应的版本进行下载。apache 官网没有windows 64位版本,可以通过下面的链接进行下载:win7 64位:http://www.apachelounge.com/download/win64/

下载安装完成,apahche的目录结构如下:

Apache如何部署django项目

修改conf/httpd.conf文件:

……
ServerRoot "D:/pydj/Apache24"
……
Listen 127.0.0.1:8089  #修改端口号
……
ServerName www.example.com:8089  
……
DocumentRoot "D:/pydj/Apache24/htdocs"
<Directory "D:/pydj/Apache24/htdocs">
……
ScriptAlias /cgi-bin/ "D:/pydj/Apache24/cgi-bin/"
……
<Directory "D:/pydj/Apache24/cgi-bin">
  AllowOverride None
  Options None
  Require all granted
</Directory>
……

主要就是路径和端口号的修改,如果你在启动apache的httpd.exe程序时一闪就没了,请检查这些配置。

启动bin/httpd.exe程序

通过浏览器访问:http://127.0.0.1:8089/

Apache如何部署django项目

现在可以说明apache工作是正常的了。 

安装mod_wsgi

The aim of mod_wsgi is to implement a simple to use Apache module which can host any Python application which supports the Python WSGI interface. 

The module would be suitable for use in hosting high performance production web sites, as well as your average self managed personal sites running on  web hosting services.

(mod_wsgi的目的是实现一个简单的使用Apache模块可以举办任何Python应用程序支持Python的WSGI接口。该模块将适用于主机的高性能生产的网站,以及一般的自我管理个人网站的网页寄存服务运行。)直接google翻译的,凑合的大概理解是干啥用的。

mod_wsgi网站:http://code.google.com/p/modwsgi/

下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

如win7 64位、python 2.7.6、apache(httpd-2.4.10)对应版本为:mod_wsgi-3.5.ap24.win-amd64-py2.7.zip

解压之后将得到一个mod_wsgi.so 文件,将其拷贝到Apache24\modules\ 目录下。

配置apache和django项目

因为你的目录一定和我的一样,所以,我再强调一下我的目录:

apache 存放目录:D:\pydj\Apache24

django项目目录:D:\pydj\myweb

再次打apache的配制文件httpd.conf:

……
#添加mod_wsgi.so 模块
LoadModule wsgi_module modules/mod_wsgi.so
#指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / D:/pydj/myweb/myweb/wsgi.py
#指定项目路径
WSGIPythonPath D:/pydj/myweb

<Directory D:/pydj/myweb/myweb>
<Files wsgi.py>
  Require all granted
</Files>
</Directory>

上面的路径,请根据自己的实际情况进行修改。

下面配置myweb/wsgi.py文件:

……
import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myweb.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

在我们生成djnago项目时这些信息已经自动生成,其实我们不用对其做任何修改。

打开settings.py文件添加:

……
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']

再次启动Apache24/bin/httpd.exe程序

通过浏览器访问:http://127.0.0.1:8089/

Apache如何部署django项目

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
八大排序算法的Python实现
Jan 28 Python
利用python获取Ping结果示例代码
Jul 06 Python
python 生成图形验证码的方法示例
Nov 11 Python
如何通过Python实现标签云算法
Jul 02 Python
python3中的eval和exec的区别与联系
Oct 10 Python
python实现简单的购物程序代码实例
Mar 03 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
Python一行代码实现自动发邮件功能
May 30 Python
python可视化之颜色映射详解
Sep 15 Python
python使用mysql数据库示例代码
May 21 #Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 #Python
Python学习小技巧之利用字典的默认行为
May 20 #Python
Python学习小技巧之列表项的排序
May 20 #Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 #Python
Python yield 使用方法浅析
May 20 #Python
Python学习小技巧之列表项的拼接
May 20 #Python
You might like
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
用js重建星际争霸
2006/12/22 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
mint-ui在vue中的使用示例
2018/04/05 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
Python实现的rsa加密算法详解
2018/01/24 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
哪些是python中web开发框架
2020/06/17 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
企业精细化管理实施方案
2014/03/23 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
施工安全员岗位职责
2015/04/11 职场文书
CAD实训总结范文
2015/08/03 职场文书
实习感想范文
2015/08/10 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python