Apache部署django项目

我想这应该是很普遍的一篇文章,百度了一下确实有不少相关的文章,居然还在讲用“mod_python” , 我也是醉了。在些过程中颇费了些力气。在此记录。

----------------------------------------------

 

  在此之前,我们一直使用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/

 

 

 =================================

   备注:最近博客没更新技术,是因为我在整理《django学习手册》,是一本一定可以让你学会开发网站手册,没有废话,没有大道理,跟着做,原来用django开发如些简单。

 

时间: 2024-12-02 15:16:50

Apache部署django项目的相关文章

Linux下将Python的Django项目部署到Apache服务器

  这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下. 方便有需要的朋友,可以参考,少走弯路! 1. django项目部署环境说明 操作系统 : Red Hat Enterprise Linux Server release 5.3 (Tikanga) x86_64 apache版本 : httpd-2.2.3-22.el5 mod_wsgi版本 : mod_wsgi-3.2-1.el5

apace-ubuntu+django+mod_wsgi+apache部署网站,报下面的错误

问题描述 ubuntu+django+mod_wsgi+apache部署网站,报下面的错误 [Tue Jul 08 16:07:47.983174 2014] [mpm_event:notice] [pid 5054:tid 140062636054400] AH00491: caught SIGTERM, shutting down [Tue Jul 08 16:07:49.046666 2014] [mpm_event:notice] [pid 5211:tid 13988251035020

centos7 apache httpd安装和配置django项目

一.安装httpd服务 apache在centos7中是Apache HTTP server.如下对httpd的解释就是Apache HTTP Server.所以想安装apache其实是要安装httpd. httpd.x86_64 : Apache HTTP Server 安装: # yum install httpd 设置httpd服务开机启动 [root@yl-web httpd]# /sbin/chkconfig httpd on Note: Forwarding request to '

部署PHP项目应该注意的几点事项分享

 这篇文章主要介绍了部署PHP项目应该注意的几点事项,有需要的朋友可以参考一下 在部署PHP项目时,有几点需要特别注意,也是初学者比较容易忽视的点:   一.下载WAMPServer后,如何安装配置?   二.如何通过客户端管理MySQL数据库?   三.如何通过IP地址访问PHP网站,如果在局域网内部访问服务器上的PHP网站?   针对第一点,注意以下内容:   1.下载WAMPServer,地址可以自己去找:   2.安装WAMPServer   3.此时PHP.Apache.MySQL都已

IDEA 如何使用JRebel 部署web项目呢?

IDEA 如何使用JRebel 部署web项目呢? 步骤 (1)安装JRebel插件 File|Settings...  输入JRebel进行搜索,然后安装. 注意:安装完JRebel插件之后需要重启IDEA.   (2)配置tomcat Run|  依次点开Defaults-Tomcat Server-Local,进入Local Tomcat(Tomcat模板)的设置界面    点击Configure,设置Tomcat路径,并单击OK保存     修改"Update" 动作和tomc

通过Nginx部署Django(基于ubuntu)

Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在U

异常-Myeclipse 2014部署SSH项目,Tomcat出现问题

问题描述 Myeclipse 2014部署SSH项目,Tomcat出现问题 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/assistant]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:

jboss-JBoss部署web项目启动报错

问题描述 JBoss部署web项目启动报错 JBoss6.0 final,没有项目时正常启动,部署项目就会报错 20:07:12,070 INFO [AbstractJBossASServerBase] Server Configuration: JBOSS_HOME URL: file:/F:/DevelopTools/jboss-6.0.0.Final/ Bootstrap: $JBOSS_HOMEserver/default/conf/bootstrap.xml Common Base:

开发过程使用Tomcat Maven插件持续快捷部署Web项目

我在平时工作中部署Web项目到测试服务器上的Tomcat时用的是Hudson.Hudson本身已经跟SVN.Git.Maven集成并且支持添加各种插件.但如果使用Hudson,我需要配置两个任务:一个任务负责打包项目成WAR,另外一个任务负责部署打包好的WAR包到目标服务器的Tomcat上.虽然任务只需要配置一次,但每次修改代码提交后,都得切换到浏览器点Hudson构建任务页面上的Build Now按钮,然后还得跳转到另一个页面观察是否有报错,然后再点击执行相应的部署任务.烦不胜烦,偶然发现To