web-dev-qa-db-ja.com

Django with IIS 8?

過去に、Windows 8 Developer PreviewでDjango 8の下でIISを実行しようとしました。 Windows 8のコンシューマープレビューが公開されたので、IIS内でDjangoを設定するための詳細な手順を入手できるかどうか疑問に思いました。

このプロセスはどのように進めればよいのでしょうか-どこから始めればよいのかほとんどわかりません。特定のISAPIモジュールが必要ですか?

11
Nathan Osman

このプロセスは簡単ではありませんが、次の手順を使用して可能です。

  1. まず、ダウンロードしてインストールします Python 2.6 。 (Python 2.6の代わりにPython 2.6を提案する理由は、PyISAPIeモジュールでサポートされる最新のPythonバージョンがPython 2.6。)インストールした場所を書き留めますPython to(C:\Python26デフォルトでは正しく覚えている場合)。

  2. [コンピューター]を右クリックし、[プロパティ]をクリックします。左側の[システムの詳細設定]をクリックします。

    enter image description here

  3. 詳細設定タブをクリックし、[環境変数]ボタンをクリックします。下部のリストボックスでパスを見つけます。

    enter image description here

  4. [編集...]ボタンをクリックして、変数値の最後に移動し、;C:\Python26(セミコロンとインストールしたパスPython to))を挿入します。

    enter image description here

  5. [OK]をクリックして、すべてのダイアログを閉じます。

  6. 次に、最新バージョンのPyISAPIe here をダウンロードします。アーカイブのコンテンツをどこかに抽出し、ディレクトリを開きます。

  7. 次に、コントロールパネルを開き、[プログラムと機能]を​​クリックして、左側にある[Windowsの機能の有効化または無効化]をクリックします。

    enter image description here

  8. [インターネットインフォメーションサービス]-> [World Wide Webサービス]-> [アプリケーション開発機能]に移動し、[ISAPI拡張機能]がオンになっていることを確認します。

    enter image description here

  9. 変更を適用してからIIS Managerを開きます。[ハンドラーマッピング]アイコンをダブルクリックします。

    enter image description here

  10. 右側の[モジュールマッピングの追加]をクリックします。表示されるダイアログで、次の情報を入力します。

    • リクエストパス:*
    • Module:IsapiModule
    • 実行可能(オプション):[PyISAPIeを抽出したパスを参照し、PyISAPIe.dll]を選択します
    • Name:Python via PyISAPIe


    次のようになります。

    enter image description here

  11. ダイアログを閉じる前に、[リクエストの制限]をクリックし、[リクエストがマップされた場合にのみハンドラを呼び出す:]をオフにして、[OK]をクリックします。また、[OK]をクリックして[モジュールマッピングの追加]ダイアログを閉じます(ISAPIおよびCGIの制限リストに許可されたエントリを持つ拡張機能を追加するかどうかを尋ねられたら、[はい]をクリックします)。

    enter image description here

  12. 次のステップは Django をダウンロードすることです。アーカイブのコンテンツをどこかに抽出します(場所に注意してください)。コマンドプロンプトを開きます(これは、 WinRcmdと入力して、 Enter)と入力し、cdの後に抽出した場所を続けますDjango to:

    enter image description here

  13. 押す Entercd djと入力してから、Push Tab。これでDjangoフォルダへのパスが完成し、 Enter ディレクトリを開きます。次にpython setup.py installと入力します。

    enter image description here

  14. Djangoプロジェクトを作成する必要があります。例として、C:\Djangoの下にプロジェクトを作成します。コマンドウィンドウで、次のコマンドを入力します。 Enter

    • cd C:\
    • mkdir Django
    • cd Django
    • python C:\Python26\Lib\site-packages\Django\bin\Django-admin.py startproject test


    これにより、「test」という名前のプロジェクトが作成されます。

  15. プロセスが正常に完了したら、残りの最後のタスクはPyISAPIeをDjangoに接続することです。これを行うには、PyISAPIeを抽出したディレクトリに戻り、Httpディレクトリを探します。内部はファイルIsapi.pyです。テキストエディターで開き、内容を次のように置き換えます。

    from Django.core.handlers.wsgi import WSGIHandler as DjangoHandler
    from Http.WSGI import RunWSGI
    from Http import Env
    import os, sys
    
    sys.path.append('C:\Django')
    os.environ['Django_SETTINGS_MODULE'] = 'test.settings'
    
    def Request():
    
        PathInfo = Env.PATH_INFO
    
        if not PathInfo.startswith('/'):
            return True
    
        for Excl in ['/media']:
            if PathInfo.startswith(Excl):
                return True
    
        return RunWSGI(DjangoHandler(), Base='/')
    
  16. HttpディレクトリをC:\Python26\Lib\site-packages(またはPython他の場所にインストールした場合は適切なディレクトリ)にコピーします。

  17. 再起動IIS(IIS Manager)の右側にある[再起動]をクリックしてこれを行うことができます):

    enter image description here

  18. すべてが正しく機能していれば、 http:// localhost にアクセスして新しいDjangoサイトを表示できます:

    enter image description here


その他の注意事項と追加事項

  • 私はそれ以来PyISAPIeをPython 2.7自分で(32ビットと64ビットの両方))コンパイルし、ここにファイルをアップロードしました: http://www.box.com/s/ a5fb1b21fcdf738d259

  • 手順6では、pyisapie.dllがIISに少なくとも読み取りアクセス権がある)ディレクトリにあることを確認する必要があります。これを考慮しないと、奇妙なエラーが発生します。

19
Nathan Osman

IIS8にDjangoをインストールする方法の詳細なガイドは、このブログ投稿内にあります。

インストールDjango:ステップバイステップチュートリアル

つまり、次の手順を実行する必要があります。

  • WindowsにPythonをインストールする
  • Djangoのインストール
  • Djangoプロジェクトのインストール
  • テストHTTPサーバーの実行
  • FastCGIサーバーの構成と実行
  • FastCGIアプリケーションを実行するためのIISの構成
  • 静的リソースとメディアディレクトリの構成
  • データベースに関する注意事項(一部のデータベースの互換ドライバーに関する注意事項)
  • トラブルシューティング(トラブルシューティング方法に関するメモ)

お役に立てば幸いです。

1
Dmitry Pavlov

もう2つのオプションは、Django-windows-toolsを使用することですが、2、3年は更新されていません。 IISでFastCGIモジュールを設定するだけなので、PyISAPIeの利用について心配する必要はありません。

https://github.com/antoinemartin/Django-windows-tools

0
Bobort