2012-03-30 34 views
16

私はDjangoプロジェクトをEC2サーバーに展開したいと思います。私はmod_wsgiをインストールしました。Apacheを起動しているときに「無効なコマンド 'WSGIScriptAlias'」エラーが発生しました

そして、djangoのチュートリアルのように設定しました。

私は取得しています次:

Invalid command 'WSGIScriptAlias', perhaps misspelled or defined by a module not included in the server configuration 

理由は何ですか? mod_wsgiが正しくインストールされていませんか?

LoadModule wsgi_module  libexec/httpd/mod_wsgi.so 
LoadModule alias_module libexec/httpd/mod_alias.so 


WSGIScriptAlias//usr/local/apache2/htdocs/mysite/mysite/wsgi.py 
WSGIPythonPath /usr/local/apache2/htdocs/mysite/mysite 


<Directory /path/to/mysite.com/mysite> 
<Files wsgi.py> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 
+0

どのようにしてこの情報に基づいて誰かがあなたを助けることを期待できますか? – Marcin

+0

Apacheが 'mod_wsgi.so'の読み取り権を持っていると確信していますか? –

答えて

13

エラーは、特にmod_wsgiがApacheにロードされていないことを示します。どのようなファイルで

は次のとおりです。

LoadModule wsgi_module  libexec/httpd/mod_wsgi.so 

あなたがmod_wsgiをするためにディストリビューションのバイナリパッケージを使用した場合、それがロードされるように、あなたが適切なのLinuxディストリビューションの管理コマンドでのmod_wsgiモジュールを有効にしましたか?

+1

私のために、次のコマンドを発行して動作しました:sudo a2enmod wsgi(http://stackoverflow.com/a/20627328/811335) –

38

問題はmod_wsgiが正しくインストールされていないということです。 (Apacheの2を使用して)

ソリューション:

  1. Apacheをインストールします。

    $ sudo apt-get install apache2 
    
  2. libapache2-mod-wsgiをインストールします。

    $ sudo apt-get install libapache2-mod-wsgi 
    

そして、これが正常に動作する必要があります。あなたは、モジュール の場所がわからない場合だけで、あなたは

/usr/lib/apache2/modules/mod_alias.so 

のような出力を得ることができますだけで、彼らのために

locate mod_alias.so 

を検索し、私は私の問題 を解決する方法、追加する

+0

libapache2-mod-wsgiが公式ドキュメントに含まれていないのはなぜですか?大変ありがとうございます。 – brennan

0

設定ファイルにその場所を追加することができます

LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so 
1

私はopenSUSE 12.2と同じ問題をApache 2.2で遭遇しました。

wsgiがインストールされていても、有効になっているかどうかを確認することをお勧めします。私は何を意味することはこれです:

#outputs a list of registered modules 
/usr/sbin/httpd2 -M 

wsgi_module (shared)場合は、表示されたファイル/etc/sysconfig/apache2

内で、変数APACHE_MODULESに私はhttpd.confのから完全にラインLoadModuleを避けることができ、この方法をwsgiを追加しません。

関連する問題