2016-04-06 20 views
1

私はUbuntu 14.04、Apache 2.4、Python 2.7.6、Django 1.9.5、およびmod_wsgi 4.5.1をソースからインストールしています。私は持っている私のメイン/etc/apache2/sites-enabled/000-default.confファイルでmod_wsgiとDjango 500のエラー

import os, sys 

from django.core.wsgi import get_wsgi_application 
sys.path.append('/home/me/project/site') 
sys.path.append('/home/me/project/site/mysite') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 


application = get_wsgi_application() 

project 
-site 
    -mysite 
     -apache 
     -wsgi.py 

wsgi.py:

マイフォルダ構造はそうのように見えます以下を編集しました

<VirtualHost *:80> 

ServerAdmin [email protected] 
    DocumentRoot /var/www/html 
    LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so 

    WSGIScriptAlias//home/seb/project/funel/mysite/apache/wsgi.py 
      <Directory "/home/seb/project/funel/mysite/apache"> 
        Require all granted 
      </Directory> 

ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

</VirtualHost> 

私は間違っていますか?私は、Apacheを再起動しても問題がないのに、500 Internal Server Errorが発生しているようです。

+1

Apacheサイトの実際の設定はどこですか? (とにかく、Ubuntuでは、apache2.confを編集してはいけません。) –

+0

'/ etc/apache2/apache2.conf'サイトを有効にした/ 000-default.confでモジュールを読み込むべきですか? –

+0

いいえ、a2enmodを実行して実行する必要がありますが、それは問題とは関係ありません。 WSGIエイリアスを実際に設定するApacheコンフィグレーションの部分を投稿してください。 –

答えて

2

あなたのApache設定のように聞こえると、ほとんどの問題が発生します。 wsgi.pyファイルからログファイルに書き込んで、サーバが適切なwsgiファイルを使用しているかどうかを確認してください。

私はa_django_site.conf apache設定ファイルの内容を添付しています。このファイルは/ etc/apache2/sites-availableにあり、sudo a2ensite a_django_site.confを使ってリロードして再起動する必要があります。

Define MY_IP=129.222.333.444 
WSGIPythonPath /home/your_name/.virtualenvs/venv_proj_name/bin/python:/home/your_name/.virtualenvs/venv_proj_name/lib/python2.7/site-packages 


<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName {MY_IP} 
ServerAlias http://{MY_IP}/ 

DocumentRoot /usr/local/src/proj_dir 

Alias /static /usr/local/src/proj_dir/django_static/ 
Alias /images /usr/local/src/proj_dir/stock/media/ 
Alias /favicon.ico /usr/local/src/proj_dir/apache/favicon.png 

WSGIScriptAlias//usr/local/src/proj_dir/proj_name/wsgi.py 

<Directory /> 
    Require all granted 
</Directory> 

ErrorLog ${APACHE_LOG_DIR}/error.log 
</VirtualHost> 
+0

私は何が間違っていたのか分かりませんでしたが、コードの一部を編集しました。あなたはスターです!私はこれに数時間を費やしました! –

+0

Apacheログがどこに書き込まれているかを調べる価値があります。彼らはおそらくあなたよりも500以上の詳細を与えるだろうし、これらのような質問に含めると便利です。それがうまく働く良い仕事。 – FlipperPA