Apache部署django项目
在此之前,我们一直使用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的目录结构如下:

修改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工作是正常的了。
安装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项目的更多相关文章
- mac osx 上面部署Django项目 apache+mysql+mod_wsgi
1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...
- apache部署django记录
在ubuntu下通过apache部署django 首先需要下载python,django,apache以及wsgi模块 python基本已经自带,我用的是2.7,不是的话可以重新装一个 下载djang ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- Docker 部署Django项目
使用docker部署django项目也很简单,挺不错,分享下 环境 默认你已安装好docker环境 django项目大概结构 (p3s) [root@opsweb]# tree opsweb opsw ...
- CentOS 6.8 部署django项目二
CentOS 6.8 部署django项目一 1.项目部署后发现部分页面的样式丢失,是因为在nginx中配置的static路径中未包含. 解决:在settinfs.py中添加: STATIC_ROOT ...
- CentOS 6.8 部署django项目一
CentOS 6.8 部署django项目二 1.安装python3.5(默认是2.6) 参考:http://blog.csdn.net/shaobingj126/article/details/50 ...
- docker 部署django项目(nginx + uwsgi +mysql)
最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高.特此写下随笔与小伙伴们分享,希望能对大家有所启发. docker的理论我就不赘 ...
- 腾讯云服务器部署 django项目整个流程
CentOS7下部署Django项目详细操作步骤 前记:购买腾讯云服务器,配置自选,当然新用户免费体验半个月,我选择的系统是centos7系统版本, 接下来我们来看整个配置项目流程. 部署是基于:ce ...
- Linux 下部署Django项目
Linux 下部署Django项目 说明:本文所使用的环境为CentOS 6+Python2.7+Django1.11 安装Django.Nginx和uWSGI 1.确定已经安装了2.7版本的Py ...
随机推荐
- VMware与virtualbox安装centos7连接网络不可达问题解决笔记(连接网络)
我最初是安装vmware遇到访问不到网络,按网上的配置方法都不能解决.然后我感觉可能跟系统有关,我装的是centos,然后我试着在virtualbox上安装看遇到什么问题. 用virtualbox安装 ...
- 如何Recycle一个SharePoint Web Application,以及为什么
当你发现SharePoint服务器的CPU或者内存使用率居高不下的时候,很多人都会选择iisreset来让资源使用率降下来.但是在企业环境中,这毫无疑问会使这台服务器中断服务从而影响到用户的使用,所以 ...
- 开源战棋 SLG 游戏框架设计思考(一)简介和游戏引擎
战棋 SLG 游戏 SLG(Simulation Game)游戏是模拟游戏的简称.战棋类的SLG有两种:一种是 War Game 中的兵棋推演分支,常见的游戏有战争艺术3(TOAW3 — The Op ...
- T2 Func<in T1,out T2>(T1 arg)
委托调用方法的4种方式. using System; using System.Collections.Generic; namespace ConsoleApplication1 { delegat ...
- 登录FTP,下载并读取文件内容
maven 添加jar <dependency> <groupId>commons-net</groupId> <artifactId>commons- ...
- C#转摘
尽量用Func和lambda解决函数变量问题,用var, dynamic来解决动态变量问题
- laravel 获取 当前url 的方法, 有的是获取 全部url 有的只获取 主页其他 部分
1. 使用 Request 类: $url = Request::getRequestUri(); 2. 使用 $request 对象: public function show(Request $r ...
- ASP.Net一键自动化更新代码、编译、合并dll、压缩js、css、混淆dll、zip打包、发布到测试环境的bat批处理
不废话,直接代码: D: cd D:\src\testproj\PrecompiledWeb svn revert ../ -R svn update .. rmdir BS /S /Q C:\Win ...
- 关于AFNetworking中header的bug问题
关于AFNetworking中header的bug问题 [摘要:AFNetworking那个正在ios开辟中便未几道了,网上一搜一大推,然则详细用法我便没有道了,偶然间我会整顿一下详细的一些用法.本日 ...
- .添加索引和类型,同时设定edgengram分词和charsplit分词
1.添加索引和类型,同时设定edgengram分词和charsplit分词 curl -XPUT 'http://127.0.0.1:9200/userindex/' -d '{ "se ...