0

apache を django で動作させようとして 3 日ほど無駄にし、非常にイライラしました。もう読んだ

https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/

http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango

構成はリンク間で異なり、django 1.4 では少し古くなっていると思われます。Apache ログで直面しているエラーは次のとおりです。

(13)許可拒否:アクセス/拒否

環境:

パイソン 2.62

Windows Azure 上の Centos 6.2

アパッチ/2.2.15

ジャンゴ1.4

パス:

/home/craig/django/myproject/myproject/wsgi.py

権限:

/home/ : drwxrwxr-x

/ホーム/クレイグ/ : drwxrwxr-x

/home/craig/django/ : drwxrwxr-x

/home/craig/django/myproject/ : drwxrwxr-x

/home/craig/django/myproject/myproject/ : drwxrwxr-x

/home/craig/django/myproject/myproject/wsgi.py: -rw-r--r--

Http.conf:

DocumentRoot "/var/www/html"

<Directory /> 
Options FollowSymLinks
AllowOverride All
</Directory>

<Directory /home/craig/django/myproject/myproject>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

WSGIScriptAlias / /home/craig/django/myproject/myproject/wsgi.py
WSGIPythonPath /home/craig/django/myproject

<VirtualHost *:80>
ServerName myserver.domain.net
</VirtualHost>

wsgi.py

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
4

2 に答える 2

0

この問題は、次のコマンドを実行してSELINUXを無効にすることですぐに修正されました:setenforce 0

これはおそらく最良の方法ではありませんが、開発目的のためにそれは私のために仕事をしました

于 2012-10-03T01:55:44.280 に答える
0

Django 1.3 から 1.4 にアップグレードしたとき、デーモン プロセスを使用しました (古いバージョンの Django を使用していませんでした)。これは、によって生成された Django 1.4wsgi.pyファイルで機能しましたcreateprojet。これが私の構成の1つの簡略化されたバージョンです:

Listen 8091

<VirtualHost 127.0.0.1:8091>

  ServerAdmin admin@foobar.com
  ServerName foobar.com

  # Django 1.4 project and virtualenv
  WSGIDaemonProcess foobar python-path=/home/micah/www/foobar.com/foobar:/home/micah/www/foobar.com/venv/lib/python2.6/site-packages
  WSGIProcessGroup foobar
  WSGIScriptAlias / /home/micah/www/foobar.com/foobar/foobar/wsgi.py

</VirtualHost>

Apache は Nginx プロキシの背後にあり (したがって仮想ホストの IP アドレス)、仮想環境を使用していたこと (したがって ) に注意する必要がありますpython-path

于 2012-10-02T23:03:44.043 に答える