zoukankan      html  css  js  c++  java
  • 利用apache+wsgi运行你的django网站 Open Idea 博客大巴

    利用apache+wsgi运行你的django网站 - Open Idea - 博客大巴

    利用apache+wsgi运行你的django网站 - [开发]

    2010-09-18 | Tag:Django Python

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://open-idea.blogbus.com/logs/75217788.html

    WSGI和mod_wsgi是python web hosting技术中正在冉冉升起的一颗新星。Django对WSGI的支持相当完整,越来越多的Django程序员尝试使用它

    虽然WSGI技术还相当新,但是它已经能够在绝大多数服务器上工作,并且已经经历了大量Python Web框架的测试,包括Django和一些流行的独立Python Web应用

    废话不多说,下面我来介绍下,如何利用apache和wsgi来让你的django程序跑起来:)

    我的环境是(K)ubuntu 10.04,其他环境应该类似,只是我没有做过测试。

    第一步:

    首先肯定是安装mod_wsgi,很多系统的软件源已经包含,如果这样只需要用你的软件管理器安装一下即可(ubuntu下是 libapache2-mod-wsgi)。如果你的软件源没有包含,那请你去官网上去自行下载源代码或编译好的二进制包

    第二步:

    安装其实还是很简单,配置才是重点。配置主要分两步:1让Apache加载wsgi模块;2让wsgi管理你的网站

    1让pache加载wsgi模块:

    如果是用软件管理器安装的,多数情况下已经加载了wsgi模块了,你可以自行确认下(ubuntu下是 /etc/apache2/mods-enabled/ 建立了两个文件链接: wsgi.load和wsgi.conf)。

    如果没有默认加载,就在Apache的配置文件中加上一行类似于下面的语句: 

      LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so 

    以上mod_wsgi.so路径请视你的具体情况确定

    2让wsgi接管你的网站

    现在我们假设你的网站网址是:http://example.com

    但是并不是整个网站都是用django开发的,只是根站点下面的”foo“部分,即:http://example.com/foo(包括http://example.com/foo/*)

    下面就开始配置:

    1)首先,需要在你的django项目目录下建一个mod.wsgi的文件

    比如你的django项目foo 存放地址为 /var/www/foo,那就建一个/var/www/foo/mod.wsgi

    mod.wsgi的内容如下(不包括"***mod.wsgi***"):

    ***mod.wsgi***

    import os, sys

    sys.path.append('/var/www')

    os.environ['DJANGO_SETTINGS_MODULE'] = 'foo.settings'

    import django.core.handlers.wsgi

    application = django.core.handlers.wsgi.WSGIHandler()

    ***mod.wsgi***

    2)修改你的Apache配置文件

    在configuration块里加上:

    ***apache.conf****

        Alias /foo/media/ /var/www/foo/media/

        <Directory /var/www/foo>

          AllowOverride All

          Order allow,deny

          Allow from all

        </Directory>

        <Directory /var/www/foo/media>

          Order deny,allow

          Allow from all

          SetHandler none

        </Directory>

        WSGIScriptAlias /foo /var/www/foo/mod.wsgi

    ***apache.conf****

    其中我假设你的静态文件夹(比如存放css,图片什么东西的地方)为media

    现在,重启下apache,应该就大功搞成了!

    enjoy your programming :-)

  • 相关阅读:
    博客园添加侧边栏小插件并更改css样式
    ubuntu14.04环境下利用docker搭建solrCloud集群
    使用Grunt 插件打包Electron Windows应用
    使用Squirrel创建基于Electron开发的Windows 应用安装包
    Electron实战:创建ELectron开发的window应用安装包
    6、创建-查看-复制-删除-文件和文件夹相关命令
    5、Linux 系统基本文件管理
    3、Linux 获取帮助的方法-关机命令-7个系统启动级别
    2 、Linux基本命令-ls-pwd-cd-date-hwclock
    1 、Linux-Rhel6终端介绍-Shell提示符
  • 原文地址:https://www.cnblogs.com/lexus/p/2365944.html
Copyright © 2011-2022 走看看