2012-05-09 23 views
1

このガイドに続き:WSGIアプリケーション見つかりません - 404

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

私は「Hello World」のWSGIアプリケーションを設定することができませんでした(私はドキュメントルートにマウントしていなかったとデーモンに委任していなかった) 私のubuntu squeezeで。 Pythonのバージョンは2.6.5です。 mod_wsgiが正しくインストールされていると思います。ここ は私がやったことです:ユーザー/ホーム/ wsgitestを作成し

  • (私たちはこれを行うことになっていません知っているが、それはただのテストのためです)。
  • 追加apache2のは下で実行するものであるグループWWW-データへのユーザー、:

    chmod -R g+rx wsgitest 
    
  • WSGIアプリケーションの作成:wsgitestとして

    groups wsgitest 
    wsgitest : wsgitest www-data 
    

    は、明示的にフォルダを読み取るためのアクセス許可を追加しましたガイドとまったく同じ内容のスクリプトファイル:

    ls -la /home/wsgitest/ 
    (...) 
    -rw-r--r-- 1 wsgitest wsgitest 277 May 7 17:11 application.wsgi 
    
    • サイト有効:

      ls -la /etc/apache2/sites-enabled/ 
      (..) 
      lrwxrwxrwx 1 root root 35 May 9 15:29 application.conf -> ../sites-available/application.conf 
      
    • 再起動のapache2をし、に行ってきました:(ルートルートにファイルが属する)

      cat /etc/apache2/sites-available/application.conf 
      <VirtualHost *:80> 
          WSGIScriptAlias /application /home/wsgitest/application.wsgi 
          <Directory /home/wsgitest> 
          Order allow,deny 
          Allow from all 
          </Directory> 
      </VirtualHost> 
      

    :は、アプリケーションの設定ファイルを作成しました次の住所:

    • 無効にサイトを与え、ファイル/etc/apache2/apache2.confの下部にfollwingを入れ

    <Directory /home/wsgitest> 
        Order allow,deny 
        Allow from all 
    </Directory>   
    WSGIScriptAlias /application /home/wsgitetst/application.wsgi 
    
  • は、apacheの再起動してみました再度ナビゲートするには、変更はありません。

  • lynxとlocalhostを試してみました。変更はありません。

  • 有効なログ情報レベルは、apache2です。

    [Wed May 09 15:39:28 2012] [info] mod_wsgi (pid=27914): Attach interpreter ''. 
    (...) 
    [Wed May 09 15:39:32 2012] [error] [client <ip>] File does not exist: /var/www/application 
    (...) 
    [Wed May 09 15:39:28 2012] [info] mod_wsgi (pid=27914): Cleanup interpreter ''. 
    

"other_vhosts_access.logは" 空である:は/ var/log/apache2のアクセスログは、要求が、 "404 503" と答えた そして、これはerror.logファイルからであることを私に語りました。

私には、要求がwsgiアプリに届かないか、何とかルーティングされていないように見えます... 誰かが問題を特定するのを手助けできますか?application.wsgiで

+0

構文エラー(たとえば、 'xxx'など)をApache設定に追加して再起動してください。 Apacheが構文エラーについて文句を言うかどうか確認してください。これは、読み取られているファイルを確認します。次に、404が発生した理由についてのApacheエラーメッセージが記録されるはずだったので、http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentationsをご覧ください。例はそのプレゼンテーションです。 –

+0

助けてくれてありがとうグレアム、それは将来便利になるかもしれない。 – Robse

答えて

0

アプリケーション呼び出し可能オブジェクトでなければなりません。私は3〜4回すべてをチェックしましたが、そこにはまだタイプミスがありました。 apache2.conf編集(wsgitetst)のWSGIScriptAliasの宣言でわかります。 インクルード設定はまだ動作しませんが、それでも問題ありません。

2

はないOH(大文字と小文字を区別)

http://webpython.codepoint.net/wsgi_application_interface

+0

ご返信ありがとうございます。私は/home/wsgitest/application.wsgiファイルで次のようにしています:def application(environ、start_response): status = '200 OK' 出力= 'Hello World!' response_headers = [( 'コンテンツタイプ'、 'text/plainの')、 ( 'のContent-Length'、STR(LEN(出力)))] start_responseを(ステータス、response_headers) リターン[出力] – Robse

関連する問題