在apache上部署django项目

时间:2016-12-14 09:02:45

标签: django apache

我的django项目mysite位于路径:/web/mysite

我的virtualenv testEnv位于路径:/web/testEnv

上述两个路径中的所有文件和目录都归www-data : www-data

所有

所有目录都有权限drwxr-xr-x,文件有权限-rw-r--r--db.sqlite3有权限-rw-rw-r--

我在apache default配置文件中添加了以下配置。

 <VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /web/mysite
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /web/mysite>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ... Some more config here ...

    Alias /static /web/mysite/mysite/static
    <Directory /web/mysite/mysite/static>
        Order allow,deny
        Allow from all
    </Directory>

    <Directory /web/mysite/mysite>
        <Files wsgi.py>
            Order allow,deny
            Allow from all
        </Files>
    </Directory>

    WSGIDaemonProcess mysite python-path=/web/testEnv/lib/python2.7/site-packages
    WSGIProcessGroup mysite
    WSGIScriptAlias / /web/mysite/mysite/wsgi.py

</VirtualHost>

当我重新启动apache服务器时,我收到以下错误,

ImportError: No module named mysite.settings

我已经检查了多个教程仍然没有运气,并且需要一些相同的指导。

[编辑] 已添加wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

application = get_wsgi_application()

1 个答案:

答案 0 :(得分:2)

您已经拥有python-path中virtualenv的路径,但您还需要添加项目的路径。将行更改为

WSGIDaemonProcess mysite python-path=/web/testEnv/lib/python2.7/site-packages:/web/mysite