web-dev-qa-db-ja.com

Apacheの起動中に「無効なコマンド 'WSGIScriptAlias'」エラーが発生します

DjangoプロジェクトをEC2サーバーにデプロイします。mod_wsgiをインストールしました。

そして、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>
17
Burak

このエラーは、具体的にはmod_wsgiがApacheにロードされていないことを示しています。

どのファイルで:

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so

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

15

問題はそれです mod_wsgiが正しくインストールされていません。

解決策(Apache 2を使用):

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

    $ Sudo apt-get install Apache2
    
  2. インストールlibapache2-mod-wsgi

    $ Sudo apt-get install libapache2-mod-wsgi
    

そして、これはうまくいくはずです。

44
om choudhary

追加するだけで、モジュールの場所がわからない場合にモジュールを検索するだけで問題を解決する方法

 locate mod_alias.so

それからあなたはのような出力を得るかもしれません

/usr/lib/Apache2/modules/mod_alias.so

次に、その場所を設定ファイルに追加できます

LoadModule alias_module /usr/lib/Apache2/modules/mod_alias.so
1
madhu131313

OpenSUSE 12.2で、Apache 2.2と同じ問題が発生しました。

Wsgiがインストールされている場合でも、アクティブ化されているかどうかを確認することをお勧めします。これはどういう意味ですか:

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

wsgi_module (shared)が表示されない場合は、ファイル__Apache_MODULES_内の変数_/etc/sysconfig/Apache2_にwsgiを追加します

このようにして、httpd.confからのLoadModule行を完全に回避できます。

1
pbarill