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 远程统计文件代码分享
May 14 Python
python提取字典key列表的方法
Jul 11 Python
深入理解 Python 中的多线程 新手必看
Nov 20 Python
python中实现迭代器(iterator)的方法示例
Jan 19 Python
对python中的xlsxwriter库简单分析
May 04 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 Python
Django中如何使用sass的方法步骤
Jul 09 Python
python 遗传算法求函数极值的实现代码
Feb 11 Python
详解python中groupby函数通俗易懂
May 14 Python
快速了解Python开发环境Spyder
Jun 29 Python
python获取命令行参数实例方法讲解
Nov 02 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
加速XP搜索功能堪比vista
2007/03/22 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
phplot生成图片类用法详解
2015/01/06 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
react基本安装与测试示例
2020/04/27 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
Python中的super用法详解
2015/05/28 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
详解KMP算法以及python如何实现
2020/09/18 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
大一自我鉴定范文
2013/10/04 职场文书
硕士生工作推荐信
2014/03/07 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python