2012-04-08 25 views
0

私のapache2サーバーは近くに設定されていると思いますが、まだ500エラーが返っています。ここに私の.wsgiファイルされる:ここではApacheが動作していないDjango EC2 mod_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 [email protected] 
     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のエラーが出ます。私が行方不明のものはありますか?

答えて

0

リクエストを行ったときのApacheエラーログを確認し、再起動したときのエラーログを確認する必要があります。

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

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

とそれを修正:この要件について読みください。

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

+0

うん、私はtehのログをチェックして、この見つかった: 'はImportError:設定「ecomstore.settings」をインポートできませんでしたが(それはのsys.pathの上です、それは構文エラーを持っていますか??):いいえモジュールの名前ecomstore.settings固定 ' – locoboy

+0

を上記の問題は、 'sys.path.append( '/ home')' – locoboy

+1

と書かれています。 Apacheの設定を後で行うと、Django設定ファイルのデータベースパスワードを含め、すべてのソースコードをダウンロードできます。 DocumentRootを、ユーザーが見ることを望まない機密情報が含まれている場所に設定しないでください。 –

関連する問題