django Apache httpd.conf安装程序

时间:2013-07-20 01:43:17

标签: django apache wamp httpd.conf

上下文:

  • WampServer 2.2 64位(编辑:我相信我实际上有32位版本)
  • Apache 2.2.22
  • mod_wsgi 3.4 64bit:courtesy of this site
  • Python 3.3.2 64位
  • django 1.5.1

python -c "import django; print(django.get_version())"测试工作正常,所以我知道django安装正确。

我在httpd.conf中添加了LoadModule行来加载mod_wsgi.so文件,服务器重新启动没有问题。

更新:在开发服务器上运行启动项目。

我正在尝试通过tutorial #1并启动并运行startupproject演示。正如教程所建议的那样,我将我的代码放在文档根目录之外的一个名为www-src的文件夹中(得到了更好的名字?)。我的wampserver的DocumentRoot是DocumentRoot "c:/wamp/www/"

文件结构如下:

|- C:
    |- wamp
        |- www (DocumentRoot)
        |- www-src
            |- first_django_site
                |- first_django_site
                |   |- __pycache__
                |   |   |- __init__.cpython-33.pyc
                |   |   |- settings.cpython-33.pyc
                |   |   |- urls.cpython-33.pyc
                |   |   |- wsgi.cpython-33.pyc
                |   |- __init__.py
                |   |- settings.py
                |   |- urls.py
                |   |- wsgi.py
                |- first_django_site.conf
                |- manage.py

我希望网址为localhost/first-django-site,以便将其与已经在wamp中的普通php www项目分开。

编写路径以访问文档根目录之外的东西的方法是什么?我不确定“../”是否有效。

以下是我尝试编写适当的apache httpd.conf的多种方法。最好的方法和正确的方法是什么?

第1区:

WSGIScriptAlias /first-django-site "../www-src/first_django_site/first_django_site/wsgi.py"
WSGIPythonPath "../www-src/first_django_site"

<Directory "../www-src/first_django_site/first_django_site">
Order deny,allow
Require all granted
</Directory>

第2栏:

Alias /www-src-alias/ "c:/wamp/www-src/"

<Directory "c:/wamp/www-src/">
    Order deny,allow
    Require all granted
</Directory>

# alias is way above in the <Ifmodule> so redacted

WSGIScriptAlias /first-django-site "/www-src-alias/first_django_site/first_django_site/wsgi.py"
WSGIPythonPath "/www-src-alias/first_django_site"

<Directory "/www-src-alias/first_django_site/first_django_site">
Order deny,allow
Require all granted
</Directory>

第3区:

Include "../www-src/first_django_site/first_django_site.conf"

first_django_site.conf

<VirtualHost *:80>
    ServerName localhost
    #ServerAlias www.mysite.com

    WSGIScriptAlias /first-django-site "../www-src/first_django_site/first_django_site/wsgi.py"
    WSGIPythonPath "../www-src/first_django_site"

    <Directory "../www-src/first_django_site/first_django_site">
    Order deny,allow
    Require all granted
    </Directory>
</VirtualHost>

第4块:这会产生500内部服务器错误。

WSGIScriptAlias /first-django-site "C:/wamp/www-src/first_django_site/first_django_site/wsgi.py"
WSGIPythonPath "C:/wamp/www-src/first_django_site"

<Directory "C:/wamp/www-src/first_django_site/first_django_site">
    <Files wsgi.py>
        Order deny,allow
        Require all granted
    </Files>
</Directory>

1 个答案:

答案 0 :(得分:0)

我原以为我使用的是64位版本的WAMP,但是我仍然不确定我是使用32位还是64位WAMP,我得出结论我使用的是32位。

我使用了32位版本的mod_wsgi.so,重新启动了服务器并运行了。

我使用此代码块运行服务器(如下所示),我可以从以下位置访问它:http://localhost/first-django-site

WSGIScriptAlias /first-django-site "C:/wamp/www-src/first_django_site/first_django_site/wsgi.py"
WSGIPythonPath "C:/wamp/www-src/first_django_site/"

<Directory "C:/wamp/www-src/first_django_site/first_django_site/">
    <Files wsgi.py>
        Order deny,allow
        Require all granted
    </Files>
</Directory>

我还下载了新的WampServer 2.4 64位,并且还成功设置了django startproject和mod_wsgi.so 64位。