2

元々、ubuntu サーバーに wsgi を使用して Django 1.3 をインストールしたときに、付属の setup.py ファイルを使用したため、更新する場合は、サイトの「django」フォルダーの名前を変更して、インストール ガイドの Django の古いバージョンを削除するセクションに従いました。 -packages "django.old" を実行し、Django 1.4 の setup.py ファイルを使用して新しいバージョンをインストールします。

Apache サーバーを再起動した後、標準の 500 内部エラーが発生しました。Apache エラー ログを確認したところ、ADMIN_MEDIA_PREFIX が非推奨になっていることがわかったので、Django 1.4 リリース ノートに従って、設定ファイルから ADMIN_MEDIA_PREFIX を削除し、示されているように「admin」というフォルダーの下の静的ディレクトリに管理ファイルを移動しました。

Apache サーバーを再起動したところ、同じ標準の 500 エラーが発生しましたが、今度は Apache エラー ログでテールを実行しようとしたときに、新しいエラーは登録されませんでした。

それ以上のエラーメッセージがなければ、私は本当に立ち往生しているので、助けていただければ幸いです。

以下は、私のApacheサイト構成ファイルとwsgiファイルの内容です

サイト構成:

<VirtualHost *:80>
    ServerAdmin me@mysite.com
    ServerName  www.mysite.com
    ServerAlias mysite.com

    # Indexes + Directory Root.
    # DirectoryIndex index.html index.htm index.php
    DocumentRoot /home/www/www.mysite.com/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /home/www/www.mysite.com/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>

    # Logfiles
    ErrorLog  /home/www/www.mysite.com/logs/error.log
    CustomLog /home/www/www.mysite.com/logs/access.log combined

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /home/www/www.mysite.com/htdocs/>
            Options FollowSymLinks MultiViews
            AllowOverride All
           allow from all
    </Directory>

    ### Connect Django to the URL using WSGI (the django recommended method)
    WSGIScriptAlias /myproject /django/myproject/django.wsgi

    ### Alias to the location of the static dir (images, css, js etc.)
    Alias /myproject/static /django/myproject/static
    <Directory /django/myproject/static>
            Order deny,allow
            allow from all
    </Directory>
</VirtualHost>

django.wsgi:

import sys
import os
import django.core.handlers.wsgi

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'

application = django.core.handlers.wsgi.WSGIHandler()

sys.path.insert(0, '/django/myproject/')
sys.path.insert(0, '/django/myproject/')

from django.core.handlers.wsgi import WSGIHandler

application = WSGIHandler()

セキュリティ上の理由から、これらのファイルから識別情報を削除または名前変更しようとしたので、明らかな構文エラーなどがある場合は、おそらくこの編集が原因であることに注意してください。これらのファイルの元のバージョンは、名前の変更を受け入れるのと同じであり、Django 1.3 でうまく機能しました。

4

1 に答える 1

0

django 1.4 には wsgi.py ファイル構成が含まれています。

ドキュメントを参照してください: https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/#the-application-object

于 2012-08-03T22:28:05.077 に答える