flask apache wsgi windows
2016-05-20 17:28
621 查看
网上找了很多搭建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文件,我创建在了项目的根目录下
4. 配置Apache
conf/httpd.conf 中添加LoadModule wsgi_module "D:/tools/mod_wsgi/mod_wsgi.so" "xxx.so"为so文件路径
添加VirtualHost
重启apache后ip:port就可以访问了
中间遇到问题,flask启动文件遇到了ImportError: cannot import name app,原因是我将app = Flask(__name__)写在了main方法中,改在写在所有方法最上面就可以导入了
我的环境: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方法中,改在写在所有方法最上面就可以导入了
相关文章推荐
- Apache Cordova——APP (HTML5, CSS3, and JavaScript)
- Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not
- apache编译安装
- Apache Shiro 标签模式授权
- apache lucene core
- Apache和PHP的优化
- Linux系统下安装Apache2.4+Mysql5.7+PHP7+Perl(小白装lampp一)
- org.apache.log4j.Logger详解
- Apache activemq example
- apache虚拟主机的配置
- Ubuntu系统启用Apache Mod_rewrite模块
- Apache Maven 入门篇(下)
- Apache Maven 入门篇 ( 上 )
- 源码编译安装apache
- centos下apache源码编译安装
- apache调优
- Apache Atlas安装文档
- apache常用的两种工作模式 prefork和worker
- Apache通过rewrite限制某个目录
- Apache禁止解析php