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开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
Django框架下在视图中使用模版的方法
Jul 16 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
使用python实现链表操作
Jan 26 Python
Python线性回归实战分析
Feb 01 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
三个python爬虫项目实例代码
Dec 28 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
python实现简单区块链结构
Apr 25 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
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
php 获取全局变量的代码
2011/04/21 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
javascript中Function类型详解
2015/04/28 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
electron中使用bootstrap的示例代码
2018/11/06 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
python获取目录下所有文件的方法
2015/06/01 Python
python简单商城购物车实例代码
2018/03/15 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
股份合作协议书
2014/09/10 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
葬礼主持词
2015/07/02 职场文书
同乡会致辞
2015/07/30 职场文书
六一儿童节致辞
2015/07/31 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
我的收音机情缘
2022/04/05 无线电