flask apache wsgi windows

网上找了很多搭建flask+apache+wsgi+windows的文章,中间遇到了一些问题,总结一下

我的环境:python2.7,apache2.4 64位haus版本(最初用的2.2,但是集成wsgi模块失败,没有任何提示,没办法换了2.4试试,就没有问题了),wsgi根据python和apache版本选择

wsgi官网需要自己编译,所以选择第三方下载地址http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,这里还有对应的apache下载地址

wsgi下载下来是whl包,可以直接解压,找到里面的mod_wsgi.so

安装步骤没有什么固定顺序,大概如下:

0. 安装python2.7

1. 安装flask,我的已经装好并用了一段时间

2. 安装Apache,我在上面下载wsgi里提供的网址找的,Apache House地址中Apache2.4 64位的

3. 安装wsgi模块,创建wsgi文件,我创建在了项目的根目录下

import os,sys

workspace= os.path.dirname(__file__)  

os.chdir('D:/tools/workspacePy/svn_project/app_compatibility_testing') #必须加入路径切换否则无法找到项目
sys.path.insert(0,workspace) #将当前项目路径加入python路径,否则无法导入相关包

from app_start import app as application

4. 配置Apache

  • conf/httpd.conf 中添加LoadModule wsgi_module "D:/tools/mod_wsgi/mod_wsgi.so"   "xxx.so"为so文件路径
  • 添加VirtualHost
    <VirtualHost *:5000>
        ServerName test.com
        ServerAlias www.test.com
        ServerAdmin root@test.com
        DocumentRoot "D:/tools/workspacePy/svn_project/app_compatibility_testing"
        ErrorLog "D:/tools/workspacePy/svn_project/app_compatibility_testing/logs/error.log"
        WSGIScriptAlias / D:/tools/workspacePy/svn_project/app_compatibility_testing/run.wsgi
    
        <Directory "D:/tools/workspacePy/svn_project/app_compatibility_testing">
            #Options +ExecCGI
            #AddHandler cgi-script .py
            Options -Indexes +FollowSymLinks
            Require all granted
            AllowOverride All
            WSGIScriptReloading On
        </Directory>
    </VirtualHost>
    此设置适用Apache2.4, Apache2.2版本有些不同

重启apache后ip:port就可以访问了

中间遇到问题,flask启动文件遇到了ImportError: cannot import name app,原因是我将app = Flask(__name__)写在了main方法中,改在写在所有方法最上面就可以导入了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大杀风景

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值