Flask + mod_wsgi + Apache on Windows 部署成功(随时接受提问)
前言
说是前言,纯粹就是吐槽。
假设你赶时间。全然能够跳过这部分,我保证不会在这里隐藏不论什么实用的内容。
人上年纪后。可能冲劲不足,我花了大概两周的时间才成功的将flask部署到windows上。还好没有放弃,终于找到了答案。
只是这也说明我在开源软件的应用和配置上还非常差劲呀,当我看到要用VC10的C/C++编译器编译源码时,头都大了。你说我们这些平时习惯了Vistual Studio编译的。哪还懂什么make命令呀。
还好网上什么都有,连帮你编译的都有,因此,编译这一难没有经历。
对于flask这种开源软件来说,部署总是有多种选择。我如今吐槽一下我试过的,但没有成功的经历。
- PyISAPIe + IIS
- CGI + IIS (尽管配置成功,可是不能解析wsgi)
- FastCGI + Nginx
- FastCGI + Lighttpd (须要cygwin进行编译)
參考
终于方案
!!
之前我就是没有注意到这个问题,所以导致一直没有成功安装。
Windows下的编译器。參见: http://www.microsoft.com/express/vc/
步骤
- 安装Apache
- 安装mod_wsgi
- 安装Python
- 安装Flask
- 创建測试Web App
- 在Apache中配置网站
- 測试
1. 安装Apache
能够在http://www.apachelounge.com/download/ 下载适合自己环境的版本号。
将压缩包下载到本机,然后将压缩包里面的Apache24目录复制到C:\。
当然,你能够复制到你的系统的不论什么位置,但Apache的默认配置是C:\Apache24。
假设你本机执行了IIS。将其关掉。由于IIS和Apache都默认用的是80port。假设你想配置其他port。我相信那也不难。等把Flask部署成功后再来捣鼓吧。
打开cmd
>cd c:\
>cd Apache24\bin\
>httpd
然后打开浏览器,输入
http://localhost
假设网页上显示 It Works! ,那说明apacheserver执行起来了。
2. 安装mod_wsgi
从以下这个链接下载mod_wsgi
这个包里面包括了32位和64位的编译版本号。下载完毕后选择
将mod_wsgi-py34-VC10.so拷贝至C:\Apache24\modules\下,并更名为mod_wsgi.so。
打开 c:\Apache24\conf\httpd.conf 加入例如以下配置
LoadModule wsgi_module modules/mod_wsgi.so
从新启动httpd,假设没有报错。说明mod_wsgi模块在apache里面载入成功了。
3. 安装Python
Python 3.4安装时。最好选择将Python加入到系统文件夹。安装完毕后就能够直接执行Python的相关程序了,比如以下安装flask时用到的pip
4. 安装flask
直接打开cmd。执行例如以下命令
pip install flask
它会自己主动将flask和flask依赖的两个库所有装上,这太方便了。
5. 创建Web App
创建C:\Test_Web\test.py
from flask import Flask, request
app = Flask(__name__) @app.route('/hello')
def hello_world():
name = request.args.get('name','')
return 'Hello ' + name + '!'
if __name__ == '__main__':
app.run()
创建C:\Test_Web\test.wsgi
import sys #Expand Python classes path with your app's path
sys.path.insert(0, "c:/Test_Web") from test import app #Put logging code (and imports) here ... #Initialize WSGI app object
application = app
注意,application一定不能改成别的。
由于mod_wsgi在解析这个文件时,仅仅认application。
另外。同IIS不同的时,不须要给C:\Test_Web目录增加NETWORK SERVICE用户的訪问权限。
6. 在Apache中配置网站
<VirtualHost *:80 >
ServerAdmin example@company.com
DocumentRoot c:\Test_Web
<Directory "c:\Test_Web">
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias /flasktest c:\Test_Web\test.wsgi
</VirtualHost>
我对Apache的配置纯粹是外行。
我的理解是一个VirtualHost节点就相当于在IIS里面的一个Web Site节点。
假设我的理解有误,还望各位路过的Apache配置高手纠正。
我在研究的过程中还看见有人将网站的配置放在另外一个conf文件里。然后将其包括至httpd.conf。
7. 測试
假设你看见网页上出现 Hello CZY! 说明你的网站执行起来了。
剩下的工作就是以当前的工作为原型,開始Python的Web App开发之旅吧。
假设你在尝试的过程中遇到什么问题。请给我随时在CSDN上留言。
Flask + mod_wsgi + Apache on Windows 部署成功(随时接受提问)的更多相关文章
- flask+mod_wsgi+apache在windows上的布署
已经安装过python3.5 1.安装flask: pip install flask 2.安装apache: Apache是开源软件,针对windows环境,它不直接提供编译版本.可以在http:/ ...
- Flask的Windows部署:mod_wsgi + Apache
参考1:https://blog.csdn.net/mist99/article/details/80771289 参考2:https://blog.csdn.net/firefox1/article ...
- Deploy Flask app to Apache on Windows
内容已过期,分割线以下为原文存档. 故事背景 这次我需要将一个Flask应用部署到本地的Windows服务器上.操作系统是64位的,程序是基于Python 3开发的,大体就是这样. 部署选项 根据Fl ...
- apache+djnago+websocket 部署配置
部署Apache服务器 1.apache服务的安装这里不做赘述,因为网上一大堆. 链接:https://blog.csdn.net/qq_24394093/article/details/905501 ...
- dubbo2.5.6从下载到编译成功并且部署成功过程
本文基于dubbo2.5.6版本 原文链接:http://www.cnblogs.com/zhuwenjoyce/ 1,下载dubbo 首先从 github 下载源代码并阅读 readme ...
- flask +gevent+nginx+Gunicorn+supervisor部署flask应用
上篇 可以完美部署flask ,但是视乎在结合gevent+apscheduler 实现异步非阻塞后台和定时任务的时候视乎不是那么完美.请教了前辈,决定使用flask+gevent+nginx+g ...
- uWSGI+Nginx+Flask在Linux下的部署
搞了一天多,终于搞通了uWSGI的部署原理,下面总结一下遇到的一些坑,希望给读者能够少走弯路. 简单来说,uWSGI是一个web服务器,Nginx进行反向代理的其实跟这些服务器可以说没有 ...
- Flask采用Virtualenv+Supervisor+Nginx部署应用
Flask采用Virtualenv+Supervisor+Nginx部署应用 -- 首先是概念解释 WSGI服务器,负责我们的app与服务器的交互,常用的有Gunicorn Web服务器,是个HTTP ...
- Visual Studio GitHub For Windows部署
使用GitHub For Windows部署Visual Studio项目 因为最近同时再看很多技术方面的书,书上的例子有很多自己想亲自尝试一下,但是每次写例子都得创建一个新项目未免太麻烦,索性就整理 ...
随机推荐
- beisen
#include <stdio.h> #include <pthread.h> #include <windows.h> #define N 100 #define ...
- day63-webservice 05.发布接口实现类的webservice
package com.rl.cxf.client; import com.rl.inter.HI; import com.rl.inter.HIService; public class HiInt ...
- 基于Spring boot的web项目搭建教程(一)
前言: 本教程参考了大量前辈的代码,在此不方便一一列举.本教程使用IDEA开发工具搭建项目,对于本人的IDEA已经集成了某些插件,比如Lombok,Thymeleaf,yml等插件,这些插件不在文中提 ...
- nginx 限制ip/限制访问路径
一.多站点统一限IP vim nginx.conf allow 127.0.0.1; deny all; # 以上代码解释: # deny all; 限制所有的ip # allow ip; 除了 这个 ...
- APM技术原理
链接地址:http://www.infoq.com/cn/articles/apm-Pinpoint-practice 1.什么是APM? APM,全称:Application Performance ...
- 个人网站html5雪花飘落代码JS特效下载
如何给自己的网站/页面添加雪花代码.特效呢?有的网站配合自己的主题模板添加雪花飘落效果挺好看的.特别是与冬天季节相关的主题,很多的博客空间都加了雪花的效果.在网上搜索了几种雪花效果,做了简单的修改,在 ...
- Java基础4一数组
数组 数组是用来存储一组相同类型数据的数据结构 数组变量属于引用数据类型 数组中的元素可以是任何数据类型(基本类型和引用类型) 备注:数组中存放的都是相同数据类型的数据. 1.一维数组的声明 语法:数 ...
- 搭建eclipse的安卓开发环境(eclipse+jdk+adt+sdk)
学校暑期大作业让用安卓写一个app,有两种方案(android stduio+sdk和eclipse+jdk+adt+sdk)折腾了几天发现还是后者好用,但是安装环境和下载真的是去了半条命,(不过由于 ...
- PostgreSQL的HA解决方案-2负载均衡(load balance)
一.部署说明 1.1 实施环境 本文档实验环境如下: PGSQL主机: 192.168.1.45 PGSQL备机: 192.168.1.50 软件和系统版本 Pgsql 版本: pgsql 9.2.4 ...
- mach-o格式分析
0x00 摘要 人生无根蒂,飘如陌上尘. 分散逐风转,此已非常身. — 陶渊明 <杂诗> mach-o格式是OS X系统上的可执行文件格式,类似于windows的PE与linux的ELF, ...