私はGunicorn経由で提供しようとしているFlaskアプリケーションを持っています。GunicornはFlaskアプリケーションをロードできませんでした
私はvirtualenvとpython3を使用しています。私は私のアプリのベースディレクトリに私のvenv CDを有効にした場合、次に実行します。
gunicorn mysite:app
は私が取得:
Starting gunicorn
Listening at http://127.0.0.1:8000
DEBUG:mysite.settings:>>Config()
...
Failed to find application: 'mysite'
Worker exiting
Shutting down: master
Reason: App failed to load
をしてみるの/ etc/nginxの/サイト利用可能な私が唯一のファイル「デフォルト」を持っています。サイト対応ではファイルがありません。私は、次のしているmanage.py
で
mysite #this is where I cd to and run gunicorn mysite:app
--manage.py
--/mysite
----settings.py
----__init__.py
個人用サイトのため:
:__init__.py
ファイルで
logger.debug("manage.py entry point")
app = create_app(app_name)
manager = Manager(app)
if __name__ == "__main__":
manager.run()
を
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
アプリケーション構造:私は私のnginx.confファイルで
私settings.py
virtualenvの内側から
class Config(object):
logger.debug(">>Config()") #this logs OK so gunicorn is at least starting in correct directory
appディレクトリ内で
def create_app(object_name):
app = Flask(__name__)
#more setup here
return app
私は
print(sys.path)
を実行する場合、私はこのvirtualenvのためのpythonとサイトパッケージへのパスを見つけます。
私はそれをインストールしてgunicornの個人用サイトを実行しているだけの問題だgunicorn開始するために読んだものから:アプリ
は、個人用サイトの親ディレクトリからgunicornを実行している私は、同じアプリケーションを見つけることができなかった得る:「個人用サイト」を、アプリケーションはエラーを読み込めませんでしたが、DEBUG ... Config()がログに記録されていません(間違ったディレクトリに入っているため)。 mysite/mysite(明らかに間違っている)からgunicornを実行すると、ワーカープロセスのereorで例外が発生します。ImportError: 'mysite'という名前のモジュールはありません。
どのように私はgunicornを実行することができますかについての手がかり?