0

Flask、wsgi、および apache2 を使用して簡単な Web サイトをセットアップしようとしています。site.py から site.wsgi にインポートしようとすると、次のエラーが発生します。

[Fri Jan 11 16:42:20 2013] [error] [client 174.48.34.188] mod_wsgi (pid=15170): Target WSGI script '/home/www/site/site.wsgi' cannot be loaded as Python module.
[Fri Jan 11 16:42:20 2013] [error] [client 174.48.34.188] mod_wsgi (pid=15170): Exception occurred processing WSGI script '/home/www/site/site.wsgi'.
[Fri Jan 11 16:42:20 2013] [error] [client 174.48.34.188] Traceback (most recent call last):
[Fri Jan 11 16:42:20 2013] [error] [client 174.48.34.188]   File "/home/www/site/site.wsgi", line 1, in <module>
[Fri Jan 11 16:42:20 2013] [error] [client 174.48.34.188]     from site import app as application
[Fri Jan 11 16:42:20 2013] [error] [client 174.48.34.188] ImportError: cannot import name app

ここに私のsite.pyがあります:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home_page():
    return render_template('index.html')

app.debug = True
if __name__ == '__main__'
    app.run()

ここに私のsite.wsgiがあります:

from site import app as application

そして、ここに私のApache設定があります:

<VirtualHost *:80>
    ServerAdmin my@email.here
    ServerName mywebsite.here
    DocumentRoot /home/www/site

    WSGIDaemonProcess site user=${APACHE_RUN_USER} group=${APACHE_RUN_GROUP} threads=5
    WSGIScriptAlias / /home/www/site/site.wsgi

    <Directory /home/www/site>
        WSGIProcessGroup site
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order deny,allow
        Allow from all
    </Directory>

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

これを理解しようとしばらく検索しましたが、困惑しています。私はウェブデザインもかなり初心者なので、ばかげているかもしれません。前もって感謝します。

4

1 に答える 1

1

答えを見つけました-Audriusがコメントで言ったように、私がファイルにsite.pyという名前を付けたので、それは矛盾でした。必要に応じてmysite.pyに変更し、mysite.wsgi(以前のsite.wsgi)に以下を追加しました。

import sys
sys.path.insert(0, '/home/www/mysite.wsgi')
于 2013-01-14T03:06:12.083 に答える