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的Twisted框架中reactor事件管理器的用法
May 25 Python
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
python正则表达式re之compile函数解析
Oct 25 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
详解Python判定IP地址合法性的三种方法
Mar 06 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
Python列表去重复项的N种方法(实例代码)
May 12 Python
python算的上脚本语言吗
Jun 22 Python
Python字符串三种格式化输出
Sep 17 Python
Matlab使用Plot函数实现数据动态显示方法总结
Feb 25 Python
python自动化测试之Selenium详解
Mar 13 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 Session 变量的使用方法详解与实例代码
2013/09/11 PHP
初识PHP
2014/09/28 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
移动节点的jquery代码
2014/01/13 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
JS之相等操作符详解
2016/09/13 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
Python中的exec、eval使用实例
2014/09/23 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
python实现定时发送qq消息
2019/01/18 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
德国购买健身器材:AsVIVA
2017/08/09 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
《在大海中永生》教学反思
2014/02/24 职场文书
追悼会主持词
2014/03/20 职场文书
结婚主持人致辞
2015/07/28 职场文书