zope.pasteは、次のことができますパッケージです
- Zopeの3アプリケーション内のWSGIミドルウェアを採用
- どんなWSGI対応のウェブサーバ上のZope 3アプリケーションサーバを配備
PasteDeployを使用した。これらは、彼らがPasteDeployを容易にしている点で共通している2全く異なるMODI手口です。それぞれは以下に詳細に説明する。
Zopeの3 の内側ののWSGIミドルウェア
zope.pasteはあなたがZopeの(zope.conf)を設定するか、または(runzope、入力すれば、)それを実行する方法を変更せずにZope 3の出版社のアプリケーションの上にWSGIミドルウェアスタックすることができます。
設定は非常に簡単です。すでにmkzopeinstanceスクリプトを使用してのZope 3のインスタンスを作成したと仮定すると、実行する必要のある3つのステップがあります:
zope.pasteのインストールと設定
zope.pasteはどこでもあなたのPYTHONPATHの上に卵としてインストールまたは単にあなたの
<パッケージ= "zope.paste」が含ま/>
サーバーの構成
私たちは、zope.pasteのサーバー定義、Paste.Mainを使用するには、<サーバー>ディレクティブの
<サーバー>
&NBSP;型Paste.Main
&NBSP;アドレス8081
サーバ>
WSGIスタックの設定
今、私たちは
[APP:Paste.Main]
paste.app_factory = zope.paste.application:zope_publisher_app_factory
それはしかし、本当に面白いではありません。 PasteDeployはあなたはそれが面白いところである、一緒にチェーンの様々なWSGIエンティティにすることができます。 「アプリ」と「フィルタ」(また、「ミドルウェア」と呼ばれる)との間の区別があるように思われる。興味があるかもしれない例は、Zopeの3 WSGIアプリケーションの出力にXSLT変換を適用している。
幸いなことに、誰かがすでにXSLTスタイルシートを適用するためのWSGIフィルタを作成しているようだ。あなたはhttp://www.decafbad.com/2005/07/xmlwiki/lib/xmlwiki/xslfilter.pyでそれを見つけることができます
あなたはZopeの3にこのWSGIフィルタを適用したい場合は、の3つが必要になります。
1.どこかPYTHONPATHでxslfilter.pyファイルを置きます。 / libに/ Pythonは良い場所です。
2. xslfilter.pyの底にこのスニペットを追加します。
&NBSP;デフfilter_factory(global_conf、** local_conf):
&NBSPは、DEF(APP)フィルタ:
&NBSP; XSLFilter(アプリ)を返す
&NBSP;リターンフィルタ
3.次のようにpaste.iniファイルを変更します。
&NBSP;パイプライン:Paste.Main]
&NBSP;パイプライン=のXSLTメイン
&NBSP;アプリ:メイン]
&NBSP; paste.app_factory = zope.paste.application:zope_publisher_app_factory
&NBSP;フィルタ:XSLT]
&NBSP; paste.filter_factory = xslfilter:filter_factory
&NBSPは、これが何をするかパイプラインを定義することです。 PasteDeployのウェブサイトでこの詳細についてはこちらをご覧ください。フィルターにスタイルシートを渡す方法については、xslfilter.pyのソースを参照してください。
ののWSGI対応のウェブサーバ上のZope 3の配備
zope.pasteあなたがPasteDeployを使用して、任意のWSGI対応のWebサーバソフトウェア上でのZope 3を実行することができます。このためには、もはや、あなたがzope.confを通じてZopeの3を設定せず、runzopeまたは入力すれば、各種を使用して、それを開始しません(あなたはまだ1を持つことができますが)のZope 3のインスタンスを必要としないでしょう。
アプリケーションの構成
zope.pasteはZopeの3のWSGI PublisherアプリケーションのためのPasteDeploy互換の工場を提供し、エントリーポイントに登録する。したがって、我々は、非常にシンプルなのZope 3 PasteDeploy構成ファイル内のアプリケーション(例えばpaste.ini)を作成することができます。
[アプリ:メイン]
使用=卵:zope.paste
site_definition = /path/to/site.zcml
file_storage = /path/to/Data.fs
DEVMODE =上
Zopeの3インスタンスから知られているように、この場合に、/path/to/site.zcmlはsite.zcml指す。あなたは、例えば、既存のZope 3のインスタンスにsite.zcmlの横のpaste.ini置くことができます。
ZODBデータベースの設定
代わりにfile_storage設定を使用してZODBがFileStorageに言及するのではなく、またZConfigスタイルの構成ファイル内の複数または他のZODBのデータベースバックエンド(ずっとzope.confのように)、例えばを設定することができます以下は、ZEOクライアントを設定しています。
&NBSP;
&NBSP;サーバのlocalhost:8100
&NBSP;保管1
&NBSP;キャッシュサイズの20メガバイト
&NBSP;
このようにpaste.iniから、このファイルを参照してください(とfile_storage設定を削除):
db_definition = db.conf
サーバーの構成
我々のZopeのアプリケーションを使用できるようにするために、我々は、サーバー定義を追加する必要がある。私たちはむしろ、ペースト又はPasteScriptが付属して1を使用することができます。
[サーバー:メイン]
使用=卵:PasteScript#wsgiutils
ホスト= 127.0.0.1
ポート= 8080
今、私たちはPasteScriptが付属してペースターコマンドを使用してアプリケーションを起動できます。
&NBSP;ペースターはpaste.iniサーブ
WSGIミドルウェアは、上またはPasteDeployのウェブサイトに記載されように構成することができます。
のこのリリースではの新機能:ます。
- のサポートが追加されましたPythonの3.3用します。
- はPython 2.4と2.5のサポートをドロップします。
- はZopeの3アプリケーション内のWSGIミドルウェアを採用するためのサポートを削除しました。唯一のスクリプトベースのサーバーの起動がサポートされるようになりました。
- は、ペースト状に構成さWSGIサーバーとアプリケーションを実行するために新しいコンソールスクリプトを追加しました。
- 標準ZFプロジェクトのレイアウトに準拠します。
- は、ライセンスと著作権ファイルを追加しました。また、ファイルヘッダーで著作権ステートメントを固定します。
- を追加しましMANIFEST.inとtox.iniます。
のバージョン0.4のの新機能は次のとおりです。
- この変更履歴の追加、SVNログから再構成され、上の日付をリリースPyPIのします。
- 機能名のスペース区切りのリストを含めることができPasteDeploy INIファイル内の「特徴」configオプションをサポートしています。これらは、構文でZCMLファイルに試験することができるます。
- 以前は唯一の特徴は、「DEVMODE」であり、それは、独自のオプションがありました。後方互換性、DEVMODE =機能リストに「DEVMODE」機能が追加さにします。 の場合
有効にすることができた
の要件の
- のPythonます。
コメントが見つかりません