顯示具有 WSGI 標籤的文章。 顯示所有文章
顯示具有 WSGI 標籤的文章。 顯示所有文章

2013年5月6日 星期一

OpenStack WEB DASHBOARD設定

Edit ""/etc/apache2/conf.d/openstack-dashboard.conf  "" :
可以設定dashboard的相關設定



1
2
3
4
5
6
7
WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10
Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static/
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
  Order allow,deny
  Allow from all
</Directory>

Python Paste

python paste是WSGI的工具包,基於WSGI的基礎多包裝了幾層,目的是用來將應用管理與實現變得更方便。


- app是一个callable object,接受的参数(environ,start_response),这是paste系统交给application的,符合
WSGI规范的参数. app需要完成的任务是响应envrion中的请求,准备好响应头和消息体,然后交给start_response处理,并返回响应消息体。
- filter是一个callable object,其唯一参数是(app),这是WSGI的application对象,见(1),filter需要完成的工作是将application包装成另一个application(“过滤”),并返回这个包装后的application。
- app_factory是一个callable object,其接受的参数是一些关于application的配置信息:(global_conf,**kwargs),global_conf是在ini文件中default section中定义的一系列key-value对,而**kwargs,即一些本地配置,是在ini文件中,app:xxx section中定义的一系列key-value对。app_factory返回值是一个application对象
- filter_factory是一个callable object,其接受的参数是一系列关于filter的配置信息:(global_conf,**kwargs),global_conf是在ini文件中default section中定义的一系列key-value对,而**kwargs,即一些本地配置,是在ini文件中,filter:xxx section中定义的一系列key-value对。filter_factory返回一个filter对象

给个例子:
pastedeploylab.ini:
[python] view plaincopy
  1. [DEFAULT]  
  2. key1=value1  
  3. key2=value2  
  4. key3=values  
  5. [composite:pdl]  
  6. use=egg:Paste#urlmap  
  7. /:root  
  8. /calc:calc  
  9. [pipeline:root]  
  10. pipeline = logrequest showversion  
  11. [pipeline:calc]  
  12. pipeline = logrequest calculator  
  13. [filter:logrequest]  
  14. username = root  
  15. password = root123  
  16. paste.filter_factory = pastedeploylab:LogFilter.factory  
  17. [app:showversion]  
  18. version = 1.0.0  
  19. paste.app_factory = pastedeploylab:ShowVersion.factory  
  20. [app:calculator]  
  21. description = This is an "+-*/" Calculator   
  22. paste.app_factory = pastedeploylab:Calculator.factory  


Reference:
1.  http://blog.csdn.net/sonicatnoc/article/details/6539716
2. Python Paste Doc, http://pythonpaste.org/

WSGI: Web Service Gateway Interface

WSGI, 念"whisky",簡單來說是python的WebService CGI模組,用來定義"網頁程式"跟"伺服器"之間的溝通標準。


Reference:
1. intro WSGI, http://blog.ez2learn.com/2010/01/27/introduction-to-wsgi/