3

チェロキーとuwsgiを使用して開発したフラスコWebアプリをデプロイしようとしています。チェロキーとuwsgiをインストールして機能させましたが(uwsgiは機能すると思います)、チェロキーでアプリを構成すると、「。」というエラーが表示されますuWSGI Error wsgi application not found。私はxml設定ファイルを使用しました(チェロキーを使用する必要があると思います)。これには次のものが含まれています。

<uwsgi>
    <pythonpath>/srv/mobile-site/app/</pythonpath>
    <app mountpoint="/">
        <module>mobilecms</module>
        <callable>app</callable>
    </app>
</uwsgi>

私のフラスコアプリは明らかに/srv/mobile-site/app/、メインスクリプトがであるフォルダにありますmobilecms.py

このファイルに何か問題がありますか?パーミッションエラーはこれを引き起こしますか?助けてくれてありがとう!

4

2 に答える 2

2

本番環境に入る前に、常に Web サーバーなしで uWSGI デプロイを試してください。

uwsgi -x<xmlfile>

多くの情報/エラーが出力されます

于 2011-02-27T05:36:37.060 に答える
2

ロベルトの提案は良いものです。エラーが発生している場所 (つまり、uWSGI か Cherokee か) を診断するのに役立ちます。

私は最近、uWSGI と Cherokee を連携させるためにも戦いました。Cherokee で uWSGI ソースを手動で構成することになりました。

  • Cherokee Admin の [Sources] タブで、ニックネームが「uWSGI Source」、ソケットが「/tmp/foo.sock」の新しいソースを追加します。
    • タイプを「Local Interpreter」に変更します
    • インタープリター フィールドに、次のように入力します。/usr/local/bin/uwsgi -x /path/to/uwsgiconfig.xml
  • 仮想サーバーのルール管理で、 をクリックして新しい動作ルールを追加します。
    • パスが「/」の「ディレクトリ」タイプの手動構成を選択します
    • ハンドラーを「uWSGI」に設定します
    • 一番下までスクロールし、バランサーに「ラウンドロビン」を設定します
    • 「uWSGI Source」情報ソースを追加
  • 変更を保存してチェロキーを再起動します

私のuWSGI構成ファイルには、次のようなものがあります(例に適合しています):

<uwsgi>
    <chdir>/srv/mobile-site/app/</chdir>
    <wsgi-file>/srv/mobile-site/app/mobilecms.py</wsgi-file>
    <callable>app</callable>

    <socket>/tmp/foo.sock</socket>
    <chmod-socket>666</chmod-socket>

    <master />
    <processes>1</processes>

    <disable-logging /><!-- Errors are still logged; this just disables request logging which Cherokee takes care of -->

    <vacuum />
    <no-orphans />
</uwsgi>

Cherokee uWSGI ウィザードは、これを有効な構成ファイルとして受け入れないことに注意してください (したがって、手動構成)。

于 2011-02-27T05:45:29.213 に答える