python wsgi介绍
wsgi is Web Server Gateway Interface。它既不是框架也不是模块,仅仅只是一个规范协议,定义了一套接口来实现服务器端与应用端通信的规范。
应用端的规范和服务器端的规范,可以看这里介绍:http://www.cnblogs.com/babykick/archive/2012/01/20/2327928.html
总结如下:
wsgi:定义服务器端与python app之间的接口规范的一个协议
wsgi app:遵循wsgi规范的python app
mod_wsgi:apache的一个模块,加载它,就可以在apache server上运行wsgi协议
mod_wsgi工作模式介绍,这篇博客写得不错 http://www.cnblogs.com/yuxc/p/3555005.html
具体配置
[root@controller1 ~]# service openstack-ceilometer-api stop # ceilometer api服务由apache接管 [root@controller1 ~]# chkconfig openstack-ceilometer-api off # 保证httpd开机自启动即可 [root@controller1 ~]# mkdir -p /var/www/ceilometer # 创建一个目录放置ceilometer api的wsgi脚本 [root@controller1 ~]# cp /usr/lib/python2.6/site-packages/ceilometer/api/app.wsgi /var/www/ceilometer/ [root@controller1 ~]# cd /etc/httpd/conf.d/ # 切换到apache的conf.d目录下 [root@controller1 conf.d]# vim openstack-ceilometer.conf # 创建api的虚拟主机配置文件 Listen controller1:8777 # 监听在controller1的8777端口 <VirtualHost *:8777> WSGIDaemonProcess ceilometer-api user=ceilometer group=ceilometer processes=2 threads=10 WSGIScriptAlias / /var/www/ceilometer/app.wsgi # 具体的wsgi程序路径 SetEnv APACHE_RUN_USER ceilometer # 存在的用户即可 SetEnv APACHE_RUN_GROUP ceilometer WSGIProcessGroup ceilometer-api ErrorLog /var/log/httpd/ceilometer_error.log LogLevel warn CustomLog /var/log/httpd/ceilometer_access.log combined </VirtualHost> [root@controller1 ~]# vim /etc/ceilometer/ceilometer.conf # 编辑ceilometer.conf配置文件,修改如下内容 [DEFAULT] #根据官方文档解释,ceilometer使用pecan框架,pecan框架的DebugMiddleware不支持多进程,在多进程的情况下没有办法设置debug模式 debug=False # 注意要关闭debug模式 [api]pecan_debug=False # 为了支持多进程,关闭DebugMiddleware [root@controller1 ~]# service httpd restart # 重启httpd服务生效
参考链接
http://docs.openstack.org/developer/ceilometer/install/mod_wsgi.html
本文出自 “the-way-to-cloud” 博客,请务必保留此出处http://iceyao.blog.51cto.com/9426658/1560711
Ceilometer - Install the API behind mod_wsgi
原文:http://iceyao.blog.51cto.com/9426658/1560711