zoukankan      html  css  js  c++  java
  • apache下部署django应用

    环境:win server 2003

    版本:apache2.2   django1.3  python2.7 mod_wsgi.so

    首先 安装apache2.2 python2.7 django1.3 

    然后下载 mod_wsgi.so (网上很多文章都是mod_python,但只支持到python2.5,现在停止更新了,所以我直接就用mod_wsgi)

    把mod_wsgi.so拷贝到 apache目录下的  modules 下。

    打开 httpd.conf文件:

    更改Apache的httpd.conf(C:\Program Files\Apache Software Foundation\Apache2.2\conf目录下)配置文件:

      (1)在配置文件中LoadModule的那一段,添加一行如下:

        LoadModule wsgi_module modules/mod_wsgi.so

      (2)然后再添加一行如下:

        WSGIScriptAlias / "D:/WorkSpace/DjangoProject/FirstProject/django.wsgi"

               #在apache服务器拥有多个虚拟机的情况下,可以将这句放到虚拟机<VirtualHost  ></VirtualHost>里

      注意上面的目录D:/WorkSpace/DjangoProject/FirstProject,这个就是您的工程的目录,需要根据的实际情况做修改,WSGIScriptAlias 有两个参数:(1)斜杠 / 表示访问路径为 “ / ” ,如:http://127.0.0.1:8080/,即根路径。

    后面的django.wsgi这个文件是需要新建的,一般和项目放在一起,后面我再来说这个如何新建这个文件。

      (3)找到Directory的配置区域,添加如下的一段配置

        <Directory "D:/WorkSpace/DjangoProject/FirstProject">
          Order Deny,Allow
          Allow from all
        </Directory>

      注意,上面的目录,这个同上面的一样,是您的工程的目录,根据您的实际情况做修改。

    新建一个wsgi文件:

        在工程的目录下新建一个django.wsgi,用记事本打开,输入以下的内容并保存: 

          import os
          import sys

          import django.core.handlers.wsgi

          sys.path.append(r'D:/WorkSpace/DjangoProject')
          os.environ['DJANGO_SETTINGS_MODULE'] = 'FirstProject.settings'
          application = django.core.handlers.wsgi.WSGIHandler()

        解释一下第4、5两行:

        第四行中的 D:/WorkSpace/DjangoProject 是您的工程目录D:/WorkSpace/DjangoProject/FirstProject 的上一层目录。根据您工程的目录情况做修改。

        第五行 os.environ['DJANGO_SETTINGS_MODULE'] = 'FirstProject.settings' ,这个FirstProject.settings就是指您的工程目录下的setting文件,根据您的工程目录名称的不同需要做修改。

        最后,这个django.wsgi文件名可以随便取,例如test.wsgi、app.wsgi等等,但是一定要与(2) 中的那行配置保持一致。如果您这里新建的文件名不是django.wsgi而是test.wsgi,那么(2) 中的那行配置就应该修改为:WSGIScriptAlias / "D:/WorkSpace/DjangoProject/FirstProject/django.wsgi"。

    修改项目的setting.py文件:

      找到您工程目录下的setting.py,对于我这里就是D:\WorkSpace\DjangoProject\FirstProject\setting.py。

      修改为如下:

    MEDIA_ROOT = 'D:/WorkSpace/DjangoProject/FirstProject'
    STATIC_ROOT = 'D:/WorkSpace/DjangoProject/FirstProject'
    TEMPLATE_DIRS =
                                       (

                                        "D:/WorkSpace/DjangoProject/FirstProject/templates",

                                       )

    还有一处需要注意,就是ROOT_URLCONF这个设置,urls前面得名称需要跟你发布的目录名称一致。比如我这个就是FirstProject.ROOT_URLCONF = 'FirstProject.urls'

    注意:

    可能出现的问题:ViewDoesNotExist

    这个原因在django.wsgi文件内有说明,

    sys.path.append(r'D:/WorkSpace/DjangoProject'),缺少一个路径,就是项目本身的路径。应该加上
    sys.path.append(r'D:/WorkSpace/DjangoProject/FirstProject')

    ok了!
  • 相关阅读:
    c#获得本月份是本季度的第几个月
    C#如何把月份转换成季度
    日本是如何处理地沟油的?
    惊艳的“学长帮我修电脑” VS “我想作你的下一行code”
    居然有人用腾讯QQ的申诉,来找回被盗的奇瑞QQ汽车[有图有真相]
    你长得够安全吗?
    这一刻我被深深地震精了![视频]Visual Studio最新"煽情"广告 让我做你下一行code
    打击地球人专用图
    ReportViewer的动态绑定
    纯天然的野菜居然会致癌?
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4145063.html
Copyright © 2011-2022 走看看