【问题标题】:Django-apache integration using wsgi mod使用 wsgi mod 的 Django-apache 集成
【发布时间】:2012-02-16 02:55:59
【问题描述】:

我正在尝试使用 django 配置我的 apache,但它给了我错误 urls.py 未找到。 我的 django 项目名称是目录 /var/www 中的 mysite 我的 django 应用名称是 /var/www/mysite/books 中的书

这里是/var/www/mysite的目录内容

ls -l /var/www/mysite
total 68
drwxrwxrwx 2 root    root    4096 2012-01-18 18:38 apache
drwxr-xr-x 2 ajinkya ajinkya 4096 2012-01-22 13:06 books
-rwxr-xr-x 1 ajinkya ajinkya   70 2012-01-18 18:37 index.html
-rwxr-xr-x 1 ajinkya ajinkya   63 2012-01-18 18:31 index.html~
-rwxrwxrwx 1 root    root       0 2012-01-12 21:04 __init__.py
-rwxrwxrwx 1 ajinkya ajinkya  124 2012-01-12 21:22 __init__.pyc
-rwxrwxrwx 1 root    root     503 2012-01-12 21:04 manage.py
-rw-rw-r-- 1 ajinkya ajinkya  665 2012-01-22 13:06 manage.pyc
-rwxrwxrwx 1 root    root    6166 2012-01-22 12:28 settings.py
-rwxrwxrwx 1 ajinkya ajinkya 6166 2012-01-18 18:22 settings.py~
-rw-rw-r-- 1 ajinkya ajinkya 3381 2012-01-22 13:06 settings.pyc
-rw------- 1 ajinkya ajinkya 1209 2012-01-14 13:53 urls.py
-rw------- 1 ajinkya ajinkya 1133 2012-01-14 13:53 urls.pyc
-rw------- 1 ajinkya ajinkya  431 2012-01-11 22:05 views.py
-rw------- 1 ajinkya ajinkya  709 2012-01-12 16:54 views.pyc
-rw------- 1 ajinkya ajinkya  350 2011-09-14 22:33 x.py

ls -l /var/www/mysite/books

total 52
-rw-r--r-- 1 ajinkya ajinkya  318 2011-09-21 06:22 admin.py
-rw-r--r-- 1 ajinkya ajinkya  356 2011-09-21 06:22 admin.pyc
-rw-r--r-- 1 ajinkya ajinkya  865 2012-01-09 16:17 forms.py
-rw-r--r-- 1 ajinkya ajinkya 1736 2012-01-09 16:17 forms.pyc
-rw-r--r-- 1 ajinkya ajinkya    0 2012-01-05 18:51 __init__.py
-rw-r--r-- 1 ajinkya ajinkya  142 2012-01-05 18:53 __init__.pyc
-rw-r--r-- 1 ajinkya ajinkya 1247 2012-01-05 19:03 models.py
-rw-r--r-- 1 ajinkya ajinkya 3282 2012-01-05 19:03 models.pyc
-rw-r--r-- 1 ajinkya ajinkya  582 2011-09-21 09:22 search.html
-rw-r--r-- 1 ajinkya ajinkya  383 2011-09-21 04:51 tests.py
-rw-r--r-- 1 ajinkya ajinkya  804 2012-01-22 13:06 tests.pyc
-rw-r--r-- 1 ajinkya ajinkya   16 2011-09-21 22:16 thanks.html
-rw-r--r-- 1 ajinkya ajinkya 2706 2012-01-11 22:05 views.py
-rw-r--r-- 1 ajinkya ajinkya 3361 2012-01-12 16:54 views.pyc

/etc/apache2/httpd.conf 中的httpd.conf 文件

MaxRequestsPerChild 1
ServerName localhost
PythonPath "['/var/www','/var/www/mysite','/var/www/mysite/books','/var/www/templates'] + sys.path"
DocumentRoot /var/www
<Location "/mysite/">
SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonOption django.root /mysite
 PythonDebug On
</Location>
WSGIScriptAlias / /var/www/mysite/apache/django.wsgi

可用站点“localhost”文件/etc/apache2/sites-available/localhost

<Virtualhost *:80>
ServerName localhost
DocumentRoot /var/www/mysite/   
<Directory /var/www/mysite>
Options FollowSymLinks
AllowOverride None
  Order allow,deny
  Allow from all
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
</Directory>
WSGIDaemonProcess mysite processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup mysite
</Virtualhost>

django wsgi /var/www/mysite/apache/django.wsgi

import os
import sys

sys.path.insert(0, '/var/www')
sys.path.insert(1.'/var/www/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

【问题讨论】:

    标签: django apache2


    【解决方案1】:

    可能是权限问题。 apache(默认)以用户www-data运行,需要能够读取所有django文件,但你的urls.py

    -rw------- 1 ajinkya ajinkya 1209 2012-01-14 13:53 urls.py
    

    【讨论】:

    • 感谢它确实有效。我为我的项目递归地执行了 chmod 777,现在它可以工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 2015-10-21
    • 2014-04-11
    • 2020-05-29
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多