Flask マイクロフレームワークで開発された非常に単純な Python Web アプリケーションを実行しようとしています。Ubuntu 10.04 LTS で VPS を使用しています。私はこの指示に従って「Hello world!」という慰めを得ましたが、これは成功体験でした。しかし今、もう少し複雑な構成をセットアップしていて、これを正しく機能させることができません。
私のアプリケーションの Apache 仮想ホスト構成は次のとおりです。
<VirtualHost *:80>
ServerAdmin user@example.org
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /srv/www/domain.com/public_html/
LogLevel info # I've put this for debugging purposes.
ErrorLog /srv/www/domain.com/logs/error.log
CustomLog /srv/www/domain.com/logs/access.log combined
WSGIDaemonProcess username user=username group=username threads=5 processes=5
WSGIScriptAlias /myapplication/ /srv/www/domain.com/myapplication/myapplication.wsgi
<Directory /srv/www/domain.com/myapplication/myapplication>
WSGIProcessGroup username
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
Alias /css /srv/www/domain.com/public_html/css
Alias /js /srv/www/domain.com/public_html/js
Alias /images /srv/www/domain.com/public_html/images
</VirtualHost>
そして、私のWSGI構成ファイルは次のとおりです。
# -*- coding: utf-8 -*-
from myapplication import app as application
これは上記の構成で何か問題がありますか?
最後に、Apache から 500 エラー ページが表示されます。だから私はログをチェックします:
[info] mod_wsgi (pid=3132, process='', application='domain.com|/myapplication/'): Loading WSGI script '/srv/www/domain.com/myapplication/myapplication.wsgi'.
[error] mod_wsgi (pid=3132): Target WSGI script '/srv/www/domain.com/myapplication/myapplication.wsgi' cannot be loaded as Python module.
[error] mod_wsgi (pid=3132): Exception occurred processing WSGI script '/srv/www/domain.com/myapplication/myapplication.wsgi'.
[error] Traceback (most recent call last):
[error] File "/srv/www/domain.com/myapplication/myapplication.wsgi", line 3, in <module>
[error] from myapplication import app as application
[error] ImportError: No module named myapplication
ツリー構造は次のようになります。
/myapplication
myapplication.wsgi
myapplication (python package)
どうやら、Python は でmyapplication
モジュールを見つけることができませんでしたsys.path
。しかし、印刷物で確認したところ、そこにありました。この問題を解決するのは簡単かもしれませんが、少し混乱しています。これを解決するにはどうすれば正しい方向に進むことができますか?