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实现设置windows桌面壁纸代码分享
Mar 28 Python
用Python实现一个简单的线程池
Apr 07 Python
Python实现字典依据value排序
Feb 24 Python
wxpython中Textctrl回车事件无效的解决方法
Jul 21 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
May 25 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
python统计字符的个数代码实例
Feb 07 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
keras之权重初始化方式
May 21 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 Python
安装pytorch时报sslerror错误的解决方案
May 17 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
apache+codeigniter 通过.htcaccess做动态二级域名解析
2012/07/01 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
vue实现弹幕功能
2019/10/25 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
python如何统计序列中元素
2020/07/31 Python
对python的文件内注释 help注释方法
2018/05/23 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
python交易记录整合交易类详解
2019/07/03 Python
pytorch模型存储的2种实现方法
2020/02/14 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
jupyter实现重新加载模块
2020/04/16 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
python缩进长度是否统一
2020/08/02 Python
Python Selenium库的基本使用教程
2021/01/04 Python
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
政法学院毕业生求职信
2014/02/28 职场文书
酒店管理求职信范文
2014/04/06 职场文书
主要负责人任命书
2014/06/06 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
幼儿园工作总结2015
2015/04/01 职场文书