2019独角兽企业重金招聘Python工程师标准>>>
项目里需要提供给另一个平台数据库操作接口,通过接口对数据进行增删改查操作,而不必关心数据底层操作,希望底层变化,接口不变,不影响调用平台。
实现设计:
1、使用apache提供web服务
2、使用mod_wsgi 模块扩展对python 支持
3、使用 flaskr python模块实现 Restful api
实现过程:
环境:centos6.4
安装 yum -y install httpd httpd-devel mod_wsgi python-flask-* python-jinja2
安装过程中 jinja2模块有bug 需要手工下载源码安装:
https://pypi.python.org/pypi/Jinja2
wget 'https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz'
tar xzvf Jinja2-2.7.3.tar.gz
python2.6 setup.py install
二、配置apache 支持wsgi 模块
[root@ Jinja2-2.7.3]#cat /etc/httpd/conf.d/wsgi.conf
LoadModule wsgi_module modules/mod_wsgi.so
#WSGIScriptAlias /test "/var/www/wsgi/test.wsgi"
WSGISocketPrefix /var/run/wsgi
WSGIDaemonProcess site user=apache group=apache threads=5
WSGIScriptAlias /test /var/www/wsgi/test.wsgi
WSGIProcessGroup site
WSGIApplicationGroup %{GLOBAL}
#WSGIScriptReloading On
Order deny,allow
Allow from all
三、安装rusful 模块
源码下载地址:
cd /var/www/
wget http://hasebook.net/wsgi.tar.gz
tar czvf wsgi.tar.gz
因为centos 有文件权限问题
cp wsgi/flaskr.db /tmp/ ;
chown apache.apache /tmp/flaskr.db
chmod 777 /tmp/flaskr.db
四 、安装完成以后重启服务器
service httpd restart
访问: http://localhost/test
官方文档: http://flask.pocoo.org/docs/0.10/