Apache+wsgi+flask部署
flask自带的web server是开发用途,并不适用与发布,需要借助专业的web服务器。
配置的坑无数,Apache部署,403禁止,莫名其妙无法访问,500内部错误把我搞得崩溃了。
重点参考: http://blog.csdn.net/firefox1/article/details/46438769
1.下载
2.解压Apache24,到C:\
3.备份conf\http.conf
4.搜索ServerName,设置,否则启动会提示。测试运行,至少不应报错
5.在服务器浏览器访问http://localhost,应该有 it works,位置是htdocs
6.在配置中搜索DocumentRoot,改为自己要指向的路径,把紧挨着下方的Directory的c:\apache24\htdoc路径改为新的根路径。
用一些静态文件测试,应该能够打开才行。需要重启httpd,需要ie多刷新。
7.将mod_wsgi.so拷贝至C:\Apache24\modules\下,添加如下配置
LoadModule wsgi_module modules/mod_wsgi.so
再次运行httpd,不报错则成功
8.写入wsgi的配置,如
WSGIScriptAlias / c:\XingWeb\web.wsgi
测试运行,应该可以打开python程序
——然而,实际情况远比这个复杂:
1、Python可以下到2.7或者3.5的最新版,可以安装。
2、Apache也可以在http://www.apachelounge.com/download/下载,注意左侧有VC版本选择。因为python版本一般较高,所以尽量选高的。
3、mod_wsgi下载:只能用一句mmp来形容,apache需要.so文件,这个so文件要编译而来,而且有多种维度:apache版本,win32/X64,VC版本,Python版本。例如http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi中就有

但whl怎么搞,要装wheel,要……反正我没搞定
经过一天的折腾,回过头的经验是:1)mod_wsgi一定要保证python大版本一样,小版本尽可能一致,不一致的话,apache的日志会显示,但不影响;2)32/64一定要一致。其他的如vc版本,mod_wsgi本身版本,并不是太影响。
翻遍了网上,太难找了,事实证明有效的两个资源都来自csdn:
http://download.csdn.net/detail/have_no_point/8542823 mod_wsgi3.5的多个版本,对Python2.7而言,对应的是2.7.6
http://download.csdn.net/download/ysahsh/8723423 有mod_wsgi4.4.6的多个版本,对Python2.7而言,对应的是2.7.9+,所以新一些
4、运行还是遇到问题,报500错误,日志显示数据库访问出错,开始以为是3.5版太老,找来4.4版,还是一样。
最后找到问题原因,我用到的sqlite路径是相对路径,但apache不认,改为绝对路径,就可以了!
折腾一天,除了郁闷和崩溃之外,也对网络中无私奉献自己经验和整理收藏的人心怀感激。
Apache+wsgi+flask部署的更多相关文章
- Windows+Apache+mod_wsgi+Flask部署方法
环境:windows7 64bit 1.python版本3.6.5,32位 2.下载Apache,版本httpd-2.4.33-o102o-x86-vc14-r2,32位,vc14编译 3.下载mod ...
- windows+Apache+mod_wsgi+flask部署笔记
windows是用的2008 server 64位. 照着网上教程即可:https://www.jianshu.com/p/0aa1c7097976 但是有个问题: Apache2.4怎么配置???跟 ...
- Flask + mod_wsgi + Apache on Windows 部署成功(随时接受提问)
前言 说是前言,纯粹就是吐槽. 假设你赶时间.全然能够跳过这部分,我保证不会在这里隐藏不论什么实用的内容. 人上年纪后.可能冲劲不足,我花了大概两周的时间才成功的将flask部署到windows上.还 ...
- windows下apache + mod_wsgi + python部署flask接口服务
windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在 ...
- CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程
Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...
- 利用WSGI来部署你的网站
利用WSGI来部署你的网站 当需要部署你的django项目的时候,可以使用apache+python来部署访问你的网站. 由于网上的有关的都是老版本的.所以这里使用apache2.4和python3. ...
- flask部署深度学习模型
flask部署深度学习模型 作为著名Python web框架之一的Flask,具有简单轻量.灵活.扩展丰富且上手难度低的特点,因此成为了机器学习和深度学习模型上线跑定时任务,提供API的首选框架. 众 ...
- 如何理解Nginx, WSGI, Flask(Django)之间的关系
如何理解Nginx, WSGI, Flask(Django)之间的关系 值得指出的是,WSGI 是一种协议,需要区分几个相近的名词: uwsgi 同 wsgi 一样也是一种协议,uWSGI服务器正是使 ...
- CentOS 6.5 Python 2.6.6+Flask 用wsgi方式部署在Apache 2.2.15下
1,安装wsgi Apache模块 easy_install mod_wsgi 2,添加/etc/httpd/conf.d/wsgi.conf LoadModule wsgi_module modul ...
随机推荐
- OpenVPN选项topology subnet实现子网掩码24的子网地址扩展
首先,在国内的文章中都没有提及这个概念,到时很多人生成的VPN服务端配置分配的IP都采用net30这种形式,这就导致了在任何一台VPN客户端上无法实现路由指向,因为子网掩码30换算出来就两个地址. t ...
- WAP2.0(XHTML MP)基础介绍
(一)XHTML MP 介绍XHTML MP(eXtensible HyperText Markup Language Mobile Profile)WAP2.0与WCSS(WAP CSS /WAP ...
- ARM JTAG 信号 RTCK 应该如何处理?
用户在调试内嵌可综合内核的 CPU 如 ARM7TDMI-S 时,需要通过打开仿真器的自适应时钟功能. 此时,ARM仿真器根据 RTCK 时钟信号的频率,产生可用于 CPU 内核当前时钟主频的最快的 ...
- Android笔记之 网络http通信
0.在认识HTTP前先认识URL 在我们认识HTTP之前,有必要先弄清楚URL的组成,比如: http://www.******.com/china/index.htm 它的含义例如以下: 1. ht ...
- 多人开发时Git下冲突的产生和解决
冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动m ...
- [Node.js]操作redis
摘要 在实际开发中,免不了要操作mysql,mongodb,redis等数据存储服务器.这里先简单介绍如何操作redis. 一个例子 关于redis服务端的安装这里不再介绍,重点不在这里.感兴趣的可以 ...
- TWebHttpRequest使用
TWebHttpRequest使用 TWebHttpRequest通过HTTP GET方法,向中间件REST API申请数据. procedure TForm1.WebButton1Click(Sen ...
- Auto Layout on iOS Versions prior to 6.0
使用XCODE5.0,出现这个小错误... 解决办法: 选中你的XIB或storyboard,如下图 再查看右边属性栏 去掉最下边的Use Autolayout ,完成. 转:http://blog. ...
- C++MFC编程笔记day05 文档类-单文档和多文档应用程序
文档类 1 相关类 CDocument类-父类是CCmdTarget类,所以,文档类也能够处理菜单等 命令消息. 作用保存和管理数据. 注意事项:怎样解决断言错 ...
- DES、MD5、RSA加密算法
本篇主要是实现标题中的三个加密算法,至于机制大家自行百度吧. 一.DES 实现类:DES.java package com.kale.des; import java.security.SecureR ...