Ceilometer - Install the API behind mod_wsgi

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

你可能感兴趣的:(api,ceilometer)