「Mod wsgi」の版間の差分
ナビゲーションに移動
検索に移動
(他の1人の利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
{{DISPLAYTITLE:mod_wsgi}} |
{{DISPLAYTITLE:mod_wsgi}} |
||
[[Category:ウェブサーバー]] |
[[Category:ウェブサーバー]] |
||
− | [[en: |
+ | [[en:Apache HTTP Server/mod_wsgi]] |
[[fr:mod_wsgi]] |
[[fr:mod_wsgi]] |
||
== イントロダクション == |
== イントロダクション == |
||
− | [ |
+ | [https://github.com/GrahamDumpleton/mod_wsgi プロジェクトサイト] より: |
:''mod_wsgi の目標は Python WSGI インターフェイスに準拠している全ての Python アプリケーションをホストできる、簡単に使える Apache モジュールを実装することです。高いパフォーマンスが要求されるプロダクションウェブサイトだけでなく、ウェブホスティングサービスで動かしている平均的な個人サイトでの使用にもこのモジュールは適しています。'' |
:''mod_wsgi の目標は Python WSGI インターフェイスに準拠している全ての Python アプリケーションをホストできる、簡単に使える Apache モジュールを実装することです。高いパフォーマンスが要求されるプロダクションウェブサイトだけでなく、ウェブホスティングサービスで動かしている平均的な個人サイトでの使用にもこのモジュールは適しています。'' |
||
− | mod_wsgi はサーバーの中に [ |
+ | mod_wsgi はサーバーの中に [https://www.python.org Python] アプリケーションを埋め込む [[Apache]] モジュールで、[https://www.python.org/dev/peps/pep-0333/ Python PEP 333] で定義されている Python WSGI インターフェイスを使って交信します。WSGI は Python で高品質かつ高性能なウェブアプリケーションを作る方法の一つです。 |
WSGI には様々なウェブアプリと簡単に対話するための標準的な仕組みがあります。有名な Python アプリケーションやフレームワークの中には簡単にデプロイ・エンベッドできるように wsgi を提供しているものがあります。例えば、Django によるブログやプロダクションの Trac を単一の Pylons アプリケーションに埋め込んで、わざわざ両方のアプリケーションを修正しなくても、認証を処理できるということです。 |
WSGI には様々なウェブアプリと簡単に対話するための標準的な仕組みがあります。有名な Python アプリケーションやフレームワークの中には簡単にデプロイ・エンベッドできるように wsgi を提供しているものがあります。例えば、Django によるブログやプロダクションの Trac を単一の Pylons アプリケーションに埋め込んで、わざわざ両方のアプリケーションを修正しなくても、認証を処理できるということです。 |
||
13行目: | 13行目: | ||
例: |
例: |
||
* [http://www.pylonsproject.org/ Pylons] |
* [http://www.pylonsproject.org/ Pylons] |
||
− | * [ |
+ | * [https://www.djangoproject.com/ Django] |
* [http://turbogears.org/ Turbo-gear] |
* [http://turbogears.org/ Turbo-gear] |
||
* [http://trac.edgewall.org/ Trac] |
* [http://trac.edgewall.org/ Trac] |
||
21行目: | 21行目: | ||
== インストール == |
== インストール == |
||
+ | {{AUR|mod_wsgi}} をインストールしてください。 |
||
− | community に2つのパッケージが存在します: |
||
− | |||
− | * {{pkg|mod_wsgi}} には全てのバージョンの Python (2.x と 3.x) で動作するモジュールが入っています。 |
||
− | * {{pkg|mod_wsgi2}} には 2.x バージョンの Python でのみ動作するモジュールが入っています。 |
||
== Apache の設定 == |
== Apache の設定 == |
||
33行目: | 30行目: | ||
}} |
}} |
||
− | * Apache を再起動 |
+ | * Apache を[[再起動]]します。 |
− | |||
− | # systemctl restart httpd |
||
* Apache が正しく動作していることを確認してください。先のコマンドが何も返さなかった場合、Apache の起動は上手くいっています。そうでない場合、以下のコマンドでエラーを確認できます: |
* Apache が正しく動作していることを確認してください。先のコマンドが何も返さなかった場合、Apache の起動は上手くいっています。そうでない場合、以下のコマンドでエラーを確認できます: |
||
63行目: | 58行目: | ||
}} |
}} |
||
− | * Apache を再起動 |
+ | * Apache を[[再起動]] します。 |
− | |||
− | # systemctl restart httpd |
||
− | |||
* 次のアドレスを開いて正しく機能しているかどうか確認できます: http://localhost/wsgi_app |
* 次のアドレスを開いて正しく機能しているかどうか確認できます: http://localhost/wsgi_app |
||
== 参照 == |
== 参照 == |
||
*[[LAMP]] |
*[[LAMP]] |
||
− | *[ |
+ | *[https://github.com/GrahamDumpleton/mod_wsgi mod_wsgi プロジェクトサイト] |
− | *[ |
+ | *[https://modwsgi.readthedocs.io/en/develop/user-guides/quick-configuration-guide.html Quick Configuration Guide] |
2020年11月13日 (金) 15:29時点における最新版
イントロダクション
プロジェクトサイト より:
- mod_wsgi の目標は Python WSGI インターフェイスに準拠している全ての Python アプリケーションをホストできる、簡単に使える Apache モジュールを実装することです。高いパフォーマンスが要求されるプロダクションウェブサイトだけでなく、ウェブホスティングサービスで動かしている平均的な個人サイトでの使用にもこのモジュールは適しています。
mod_wsgi はサーバーの中に Python アプリケーションを埋め込む Apache モジュールで、Python PEP 333 で定義されている Python WSGI インターフェイスを使って交信します。WSGI は Python で高品質かつ高性能なウェブアプリケーションを作る方法の一つです。
WSGI には様々なウェブアプリと簡単に対話するための標準的な仕組みがあります。有名な Python アプリケーションやフレームワークの中には簡単にデプロイ・エンベッドできるように wsgi を提供しているものがあります。例えば、Django によるブログやプロダクションの Trac を単一の Pylons アプリケーションに埋め込んで、わざわざ両方のアプリケーションを修正しなくても、認証を処理できるということです。
例:
インストール
mod_wsgiAUR をインストールしてください。
Apache の設定
- インストールの中で示されるように、以下の行を Apache の設定ファイルに追加してください:
/etc/httpd/conf/httpd.conf
LoadModule wsgi_module modules/mod_wsgi.so
- Apache を再起動します。
- Apache が正しく動作していることを確認してください。先のコマンドが何も返さなかった場合、Apache の起動は上手くいっています。そうでない場合、以下のコマンドでエラーを確認できます:
# systemctl -l status httpd.service
モジュールのテスト
- Apache の設定ファイルに以下の行を追加してください:
/etc/httpd/conf/httpd.conf
WSGIScriptAlias /wsgi_app /srv/http/wsgi_app.py
- テストファイルを作成:
/srv/http/wsgi_app.py
#-*- coding: utf-8 -*- def wsgi_app(environ, start_response): import sys output = sys.version.encode('utf8') status = '200 OK' headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, headers) yield output # mod_wsgi need the *application* variable to serve our small app application = wsgi_app
- Apache を再起動 します。
- 次のアドレスを開いて正しく機能しているかどうか確認できます: http://localhost/wsgi_app