0

私のApache2サーバーはセットアップに近づいていると思いますが、それでも500エラーが返されます。これが私の.wsgiファイルです:

import os, sys

#path to directory of the .wsgi file ('apache/')
wsgi_dir = os.path.abspath(os.path.dirname(__file__))

#path to project root directory (parent of 'apache/')
project_dir = os.path.dirname(wsgi_dir)

sys.path.append(project_dir)
project_settings = os.path.join(project_dir, 'settings')
os.environ['DJANGO_SETTINGS_MODULE'] = 'ecomstore.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

これが私のvirtualhostファイルです:

NameVirtualHost *:80
 <VirtualHost *:80>
      ServerAdmin admin@site.com
      ServerName www.site.com
      ServerAlias site.com

      Alias /static /home/ecomstore/static

      DocumentRoot /home/ecomstore
      WSGIScriptAlias / /home/ecomstore/apache/ecomstore.wsgi

      ErrorLog /var/log/apache2/error.log

      LogLevel warn

      CustomLog /var/log/apache2/access.log combined

 </VirtualHost>

これが私のサーバーの再起動です:

sudo /etc/init.d/apache2 restart
 * Restarting web server apache2
[Sun Apr 08 02:47:31 2012] [warn] module wsgi_module is already loaded, skipping
 ... waiting ..........[Sun Apr 08 02:47:42 2012] [warn] module wsgi_module is already loaded, skipping
   ...done.

ただし、再起動時に mod-wsgi 構成でエラーが発生しない場合でも、前述の 500 Internal Server エラーが発生します。足りないものはありますか?

4

1 に答える 1

0

再起動したときではなく、要求を行ったときの Apache エラー ログを確認する必要があります。

問題の原因の 1 つは、sys.path に、DJANGO_SETTINGS_MODULE を設定したために必要なプロジェクト ディレクトリの親ディレクトリが含まれていないことです。この要件については、以下を参照してください。

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

そしてそれを修正します。

さらに、それが Apache 500 ページか Django ページかを判断する必要があります。Django の場合は、Django 設定ファイルで DEBUG をオンにして Apache を再起動すると、ブラウザに完全なエラーが表示されます。解決したら、DEBUG をオフにします。

于 2012-04-08T05:50:26.387 に答える