(機械翻訳)`` mod_wsgi``の下で:app: `Pyramid`アプリケーションを実行する¶
:term: `mod_wsgi`はGraham Dumpletonによって開発されたApacheモジュールです。 Apache Webサーバーを使用してterm: `WSGI`プログラムを提供することができます。
このガイドでは、Apacheの下で `` mod_wsgi``を使って実行している:app: `Pyramid`アプリケーションを取得するための広範な手順を概説します。この特別なチュートリアルは、AppleのMac OS Xプラットフォーム(32ビットMacのSnow Leopard)で開発されましたが、コマンドはすべてのシステムでほぼ同じでなければなりません。コマンドとファイルのデルタ固有のパス情報。
注釈
残念ながら、これらの命令は、 `` mod_wsgi``を使ってWindowsシステムにa:app: Pyramid`アプリケーションをデプロイするためにはうまくいきません。 Windowsシステムで:app: `Pyramid`と mod_wsgi``を使った経験があれば、 Pylons-devel maillist <https://groups.google.com/forum/#!forum/pylons-devel> `_。
このチュートリアルでは、Apacheがすでにシステムにインストールされていることを前提としています。もしそうでなければ、あなたのプラットフォームに合った方法でApache 2.Xをインストールしてください。
:ref: `require-for-installing-packages`を満たしていることも前提としています。
Apacheをインストールしたら、 `` mod_wsgi``をインストールしてください。 (優れた) `インストール手順<https://code.google.com/archive/p/modwsgi/wikis/InstallationInstructions.wiki> `_あなたのプラットフォームのためのあなたのシステムのApacheインストール。
a:app: Pyramid`アプリケーションを作成します。このチュートリアルでは、 ` starter``:term: `cookiecutter`を使用します。新しいプロジェクトの作成について詳しくは、ref: `project_narr`を参照してください。
$ cd ~ $ cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 1.9-branch
最初の項目の入力を求められたら、returnキーを押してデフォルトの `` yes``を受け入れます。
You've cloned ~/.cookiecutters/pyramid-cookiecutter-starter before. Is it okay to delete and re-clone it? [yes]: yes project_name [Pyramid Scaffold]: myproject repo_name [myproject]: myproject Select template_language: 1 - jinja2 2 - chameleon 3 - mako Choose from 1, 2, 3 [1]: 1
アプリケーションをインストールするために使用する:term: 仮想環境 'を作成します。 ` mod_wsgi``をビルドするのに使われた同じ基本Pythonインタプリタを使うことが重要です。例えば、 `` mod_wsgi``がシステムPython 3.xに対してビルドされていれば、あなたのプロジェクトは同じシステムPython 3.xから作成された仮想環境を使うべきです。
$ cd myproject $ python3 -m venv env
あなたの:app: `Pyramid`アプリケーションとその依存関係をインストールしてください。
$ env/bin/pip install -e .
プロジェクトディレクトリ(
〜/ myproject
)内で、 `` pyramid.wsgi``という名前のスクリプトを作成します。次の内容を記入してください:from pyramid.paster import get_app, setup_logging ini_path = '/Users/chrism/myproject/production.ini' setup_logging(ini_path) application = get_app(ini_path, 'main')
:func: pyramid.paster.get_app`の最初の引数は、プロジェクトの設定ファイル名です。あなたのcookiecutterが提供する ` production.ini``ファイルは、プロダクションに適した設定を含んでいるので、それを使うのが最善です。二つ目は、 `` .ini``ファイル内の `` mod_wsgi``でロードされるべきセクションの名前です。 `` application``という名前への割り当ては重要です。mod_wsgiはファイルを開くときにそのような割り当てを見つける必要があります。
:func: pyramid.paster.setup_logging`を呼び出すと、標準ライブラリの logging`モジュールが初期化され、アプリケーション内でのロギングが可能になります。参照:ref: `logging_config`を参照してください。
`` pyramid.wsgi``スクリプトを実行可能にする必要はありません。しかし、* 2人のユーザーが 〜/ myproject`ディレクトリに移動するためのアクセス権を持っていることを確認する必要があります:あなたの現在のユーザ(私のものは chrism``です。 ` apache``や `` httpd``など)。これらのユーザーの両方がそのディレクトリに"cd "できることを確認してください。
Apacheの設定を編集していくつか追加してください。 Apacheをインストールしているときに自分のシステムに `` / etc / apache2 / other / modwsgi.conf``という名前のファイルを作成してしまいました。
# Use only 1 Python sub-interpreter. Multiple sub-interpreters # play badly with C extensions. See # http://stackoverflow.com/a/10558360/209039 WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On WSGIDaemonProcess pyramid user=chrism group=staff threads=4 \ python-path=/Users/chrism/myproject/env/lib/python3.5/site-packages WSGIScriptAlias /myapp /Users/chrism/myproject/pyramid.wsgi <Directory /Users/chrism/myproject> WSGIProcessGroup pyramid Require all granted </Directory>
Apacheを再起動する
$ sudo /usr/sbin/apachectl restart
ブラウザーで `` http:// localhost / myapp``にアクセスしてください。ブラウザにサンプルアプリケーションがレンダリングされているはずです。
:term: `mod_wsgi`には多くのノブと様々なデプロイメントモードがあります。これは、app: `Pyramid`アプリケーションをどのように提供するのかを表現したものです。 `mod_wsgiの設定ドキュメントを参照してください<https://modwsgi.readthedocs.io/en/develop/configuration.html>詳細な設定情報については `_ 'を参照してください。