flask部署:Apache+mod_wsgi+python+virtualenv

1,修改项目文件权限

需要赋予apache该项目的完全权限

chmod 755 flaskdemo

查看apache的归属用户组

egrep -i '^user|^group'/usr/local/apache/conf/httpd.conf

 

chown daemon:daemon flaskdemo

 

2,创建wsgi文件


import os
importsys
importsite
fromlogging import Formatter, FileHandler
 
ALLDIRS =['/data/riskview/flaskdemo/env/lib/python2.7/site-packages']
 
#Remember original sys.path.
prev_sys_path= list(sys.path)
# Addeach new site-packages directory.
fordirectory in ALLDIRS:
    site.addsitedir(directory)
# Reordersys.path so new directories at the front.
new_sys_path= []
for itemin list(sys.path):
    if item not in prev_sys_path:
        new_sys_path.append(item)
        sys.path.remove(item)
sys.path[:0]= new_sys_path
 
APP_HOME= r"/data/riskview/flaskdemo/flaskdemo"
 
 
activate_this= os.path.join("/data/riskview/flaskdemo/env/bin/activate_this.py")
execfile(activate_this,dict(__file__=activate_this))
 
sys.path.insert(0,APP_HOME)
os.chdir(APP_HOME)
 
fromflaskdemo import app
 
application = app


flask官方部署文档:http://flask.pocoo.org/docs/0.10/deploying/

配置python的虚拟运行环境建议参考文章:

http://blog.dscpl.com.au/2014/09/using-python-virtual-environments-with.html

 

3, 配置apache的conf

WSGIPythonHome"/data/riskview/flaskdemo/env"
#WSGIPythonPath"/data/riskview/flaskdemo/env/lib/python2.7/site-packages"
WSGIDaemonProcess pylonspython-path="/data/riskview/flaskdemo/env/lib/python2.7/site-packages"
 
<VirtualHost *:80>
       Alias /static "/data/riskview/flaskdemo/flaskdemo/static"
       WSGIScriptAlias / "/data/riskview/flaskdemo/flaskdemo/wsgi.py"
        <Directory"/data/riskview/flaskdemo/flaskdemo/">
           AllowOverride None
           Allow from all
       </Directory>
       <Directory "/data/riskview/flaskdemo/flaskdemo/static">
           AllowOverride None
           Allow from all
       </Directory>
</VirtualHost>


 

For embedded mode of mod_wsgi you woulddo this by using the 'WSGIPythonPath' directive:

WSGIPythonPath/usr/local/pythonenv/PYLONS-1/lib/python2.5/site-packages

If using daemon mode of mod_wsgi youwould use the 'python-path' option to the WSGIDaemonProcess directive.

WSGIDaemonProcesspylons python-path=/usr/local/pythonenv/PYLONS-1/lib/python2.5/site-packages

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值