django+iisやっと配置に成功して、嬉しい!!!
5031 ワード
django開発フレームワークの大名はとっくに聞いていたので、機会を見つけて体験したいと思っていました.会社が使用するサーバシステムはwinows server 2003、webサーバはiis 6.0であるため、開発環境はdjango+iisにしか配備できない.そこで、googleを探して、見つけることができるチュートリアルは少なくて、その上多くは同じで、1つの配置を選ぶしかなくて、まだ実行できません.幾多の紆余曲折を経て,終始未遂であった.
今日は暇で、django+iisの実行環境を構成する衝動がありました.また試してみると、黄天は心を持たず、償うことができた.参考にしたチュートリアルを添付します.
Windowsプラットフォーム下のIISでDjangoアプリケーションを公開する
ターゲット
Djangoによって作成されたアプリケーションは、Windowsプラットフォーム上のIISサーバで公開されます.私たちが始める前に、Windows、IISをインストールし、正常に動作していることを確認してください.パブリッシュする必要があるDjangoアプリケーションも内蔵のテストサーバでデバッグに合格しました.
注意:IIS拡張はDjango>=0.92のAPIに基づいているため、このガイドはDjango<=0.91に対して無効です.
ステップ PyISAPIeのインストール-IISにPythonをサポートさせる拡張 Djangoをインストールし、PyISAPIeを介してDjango に接続する.構成Django テスト PyISAPIeのインストール-IISのISAPI拡張機能
PyISAPIeはインストールパッケージとして公開されているわけではありませんが、インストールも複雑ではありません
簡単に言えば、この拡張はIIS実行時にPython解釈器をメモリにロードし、ページ要求に応答するために使用され、CGI方式で各要求に対してPythonを繰り返し起動することを回避する.これは、一部のDjangoファイルがキャッシュされ、Pythonプロセスを再起動するまでコードを変更した後、すぐに有効にならないことを意味します.IIS 6では、アプリケーション・プールのサービスを右クリックして「リフレッシュ」を選択して変更を有効にする必要があります.以前のIISバージョンでは、IISサービス全体を再起動する必要があるかもしれません.
では、http://pyisapie.sourceforge.net/にアクセスし、最新のPyISAPIeをダウンロードします.
すべてのファイルをc:pyisapieに解凍し、Pythonをc:python 24にインストールし、パスが異なる場合は調整してください.
readmeにはドキュメントの説明があり、手順は以下のように要約されています.
インストールファイル c:pyisapiePyISAPI e.dllをc:python 24 にコピーファイルの「プロパティ」->「セキュリティ設定」を編集し、「Network」、「Service」に参加し、「読み取り」権限を選択します.(IISがアクセスできるように) c:pyisapiesourcePyISAPIePythonHttpフォルダ全体をc:python 24libsite-packagesにコピーします.注意:Httpフォルダの名前は大文字と小文字が敏感で、httpや他のバリエーションと間違えて保存しないでください.そうすると、正常に動作しません.
IISの設定
仮想ディレクトリを作成する必要はありません.ルートディレクトリを直接使用できます./myfolderなどの仮想ディレクトリを使用する場合は、/myfolderで始まるページのみがPyISAPIeで処理されます.ルートディレクトリを使用すると、すべてのURLがPyISAPIeによって処理され、サイト上の他のコンテンツにアクセスできない可能性があります.*IIS管理コンソールを開き、新しい仮想ディレクトリを作成し、ウィザードのプロンプトでISAPI拡張を許可します.
IIS 6仮想ディレクトリのプロパティを参照して「構成」をクリックし(このオプションがグレーの場合は「作成」をクリック)、新しいワイルドカード(下のリストボックス内)を追加してpyisapieにナビゲートします.dllファイル、「ファイルが存在するかどうかを確認」オプションをオフにします. IISマネージャで、[ネットワークサービス拡張]領域を右クリック->新しいネットワークサービス拡張に追加します. 勝手に名前を付けてpyisapie.dllを必要なファイルとして追加し、この拡張を許可する を選択します.
IIS 5 IIS 5.xはワイルドカードアプリケーションマッピングをサポートしていません.少なくとも構成インタフェースではサポートされていません.IIS 5において実施するステップは、 である.仮想ディレクトリを右クリックし、「プロパティ」 を選択します.「実行許可」が「スクリプトと実行可能プログラム」 に設定されていることを確認します.[設定](Configuration)(スクリプトと実行可能プログラムの横) をクリックします.「アプリケーションマッピング」タブをクリックし、「追加」 を選択「実行可能ファイル」をc:python 24PyISAPIeに設定.dll 「拡張子」を「*」に設定、すべてのリクエストがPyISAPIeを通過する.dll処理 許可された動作を限定する必要がありますが、内部テストの便利さのために、一時的に「すべての動作」 に設定します.ファイルが存在するかどうかをチェックするオプション をクリア[OK]をクリックしてすべてのウィンドウ を閉じます.
設定したら、c:pyisapiesourcePyISAPIePythonexamplesの下のInfoをpy新しい仮想ディレクトリにコピーしてアクセスhttp://site/Info.pyテストします.
DjangoをPyISAPIeに接続する
PyISAPIeのexamplesdjangoディレクトリのreadmeに従います.txtでDjangoを設定します.簡単に言えば、2つのファイルを対応するフォルダにコピーします.それから少し修正してあなたのニーズを満たします. Isapi.pyをc:python 24libsite-packagesHttpディレクトリに配置します.前の例に従って、このファイルを少し修正する必要があります: 変更コード pyisapie.pyをc:python 24libsite-packagesDjango-xyz-123に配置します.eggdjangocorehandlersディレクトリ.PyISAPIe v1.0.3に小さなバグがあります.正常に使用するには、少し修正する必要があります.
変更コード IIS+Python+PyISAPIeは現在、複数のDjangoサイトをサポートしていないようです.
Django設定の変更
上記の手順を完了したら、仮想ディレクトリ/myfolderをc:testに移動し、Hello Worldページを作成してテストできます. c:testprojディレクトリにhelloworldを作成します.pyファイル 内容は以下の通り c:testprojディレクトリのurlsを変更します.py
内容は以下の通り
よくある質問 IIS 5では、コードを変更するたびに、コンソールの下でコマンド「iisreset」でIISを再起動して有効にする必要があります.「IIS管理コンソール」の下でサイトを直接再起動するのは効果的ではなく、IISサービス全体を再起動する必要があります. は、スタイルシートなどの静的コンテンツを提供するために、ルートディレクトリの下に「media」仮想ディレクトリを作成することが望ましい.
原文の参考 DjangoOnWindowsWithIISAndSQLServer
今日は暇で、django+iisの実行環境を構成する衝動がありました.また試してみると、黄天は心を持たず、償うことができた.参考にしたチュートリアルを添付します.
Windowsプラットフォーム下のIISでDjangoアプリケーションを公開する
ターゲット
Djangoによって作成されたアプリケーションは、Windowsプラットフォーム上のIISサーバで公開されます.私たちが始める前に、Windows、IISをインストールし、正常に動作していることを確認してください.パブリッシュする必要があるDjangoアプリケーションも内蔵のテストサーバでデバッグに合格しました.
注意:IIS拡張はDjango>=0.92のAPIに基づいているため、このガイドはDjango<=0.91に対して無効です.
ステップ
PyISAPIeはインストールパッケージとして公開されているわけではありませんが、インストールも複雑ではありません
簡単に言えば、この拡張はIIS実行時にPython解釈器をメモリにロードし、ページ要求に応答するために使用され、CGI方式で各要求に対してPythonを繰り返し起動することを回避する.これは、一部のDjangoファイルがキャッシュされ、Pythonプロセスを再起動するまでコードを変更した後、すぐに有効にならないことを意味します.IIS 6では、アプリケーション・プールのサービスを右クリックして「リフレッシュ」を選択して変更を有効にする必要があります.以前のIISバージョンでは、IISサービス全体を再起動する必要があるかもしれません.
では、http://pyisapie.sourceforge.net/にアクセスし、最新のPyISAPIeをダウンロードします.
すべてのファイルをc:pyisapieに解凍し、Pythonをc:python 24にインストールし、パスが異なる場合は調整してください.
readmeにはドキュメントの説明があり、手順は以下のように要約されています.
インストールファイル
IISの設定
仮想ディレクトリを作成する必要はありません.ルートディレクトリを直接使用できます./myfolderなどの仮想ディレクトリを使用する場合は、/myfolderで始まるページのみがPyISAPIeで処理されます.ルートディレクトリを使用すると、すべてのURLがPyISAPIeによって処理され、サイト上の他のコンテンツにアクセスできない可能性があります.*IIS管理コンソールを開き、新しい仮想ディレクトリを作成し、ウィザードのプロンプトでISAPI拡張を許可します.
IIS 6
IIS 5
設定したら、c:pyisapiesourcePyISAPIePythonexamplesの下のInfoをpy新しい仮想ディレクトリにコピーしてアクセスhttp://site/Info.pyテストします.
DjangoをPyISAPIeに接続する
PyISAPIeのexamplesdjangoディレクトリのreadmeに従います.txtでDjangoを設定します.簡単に言えば、2つのファイルを対応するフォルダにコピーします.それから少し修正してあなたのニーズを満たします.
# , python DJANGO_SETTINGS_MODULE
import sys
sys.path.append(r'c:\test')
# Indicate the settings module of your project
os.environ["DJANGO_SETTINGS_MODULE"] = "proj.settings"
変更コード
class PyISAPIeRequest(http.HttpRequest):
def __init__(This):
#
This.method = Env.REQUEST_METHOD
#
Django設定の変更
上記の手順を完了したら、仮想ディレクトリ/myfolderをc:testに移動し、Hello Worldページを作成してテストできます.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello world!")
内容は以下の通り
from django.conf.urls.defaults import *
urlpatterns = patterns('',
# Example:
# (r'^newtest/', include('proj.apps.foo.urls.foo')),
(r'^.*$', 'proj.helloworld.index'),
# Uncomment this for admin:
# (r'^admin/', include('django.contrib.admin.urls')),
)
準備が整い次第、すぐに訪問できます.http://site/myfolder効果を見てみましょう.Djangoサービスを手動で起動する必要はありません.よくある質問
原文の参考