当前位置:首页 > 技术文章 > 正文内容

如何将Flask部署在Windows的Apache里?

arlanguage3个月前 (01-29)技术文章27


在linux上部署flask应用比较方便,可选也比较多,配合nginx、apache、Gunicorn等能达到很高效很靠谱的效果。

但是在windows下,可选性就比较少了,比较靠谱就是通过apache挂载wsgi的方式了。

不要问我为啥要在windows下部署,总会碰到这么个环境,比如我现在。

  • 前提:
  1. 安装了Python环境
  2. 安装Flask
  3. 安装mod_wsgi (windows下pip安装基本失败,有打好的包地址,文章里不方便放链接,需要的同学可以私信我,发送wsgi自动获取)
  4. 安装了Apache

注:安装mod_wsgi时,根据python版本进行挑选,挑选准则如图:

对下载下来的mod.whl文件进行安装

pip install <文件绝对路径>

安装成功后,运行下面的命令:

mod_wsgi-express module-config

上面这条命令成功运行后,我们可以得到三条信息:

然后使用这三条信息加入到apache的配置文件httpd.conf中:

上面的几个步骤很重要,操作完成后,就可以进行nginx的配置了。

这里我们在一个虚拟站点里配置,在httpd-vhosts.conf里增加如下内容

  
	ServerAdmin "localhost"
	ErrorLog "logs/flaskwebsite.info-error.log"
	CustomLog "logs/flaskwebsite-access.log" common
	
		Require all granted
		Require host ip
	
	WSGIScriptAlias / D:\website\flaskwebsite\wsgi.py
 

flask项目的wsgi.py文件内容

# -*- coding: utf-8 -*-
import sys
sys.path.insert(0, "D:/website/flaskwebsite")
from manager import app as application

其中manager.py文件里

from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return '

Success

' if __name__ == '__main__': app.run()

这样,启动apache服务,就可以访问flask站点。

也比较简单,如果不是调试的需求,建议用这种方式跑应用,至少比flask自带的服务性能要高很多,不信你试试!

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1174.html

分享给朋友:

“如何将Flask部署在Windows的Apache里?” 的相关文章

Linux新手入门系列:安装nginx

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:Linux下区分大小写;Linux多用户多线程;Linux下每个文件和目录都有访问权限;安装nginx...

Linux系统非root用户下安装Nginx

通常使用Nginx或者Apache作为Web服务器时,默认监听80端口,因此默认会使用root用户去安装,而且,使用yum命令安装时,通常会安装到默认的路径下,默认路径通常是root用户才有执行权限的。如果不需要使用Nginx监听1024以下的端口,且对权限和网络管理比较严格时,能用非root权限解...

nginx监控与调优(三)

nginx监控通常有两种方法:一是status监控;二是ngxtop监控。一、status监控使用status监控的步骤:1.确定nginx中status模块是否已安装[root@localhost sbin]# nginx -V nginx version: nginx/1.13.7 built...

如何让Nginx后端服务收到真实的客户IP?

背景开发有一个服务部署在阿里云上,依赖阿里云的CLB(传统型负载均衡)暴露服务,因特殊要求,CLB和后端服务之间需要通过自建Nginx做代理,拓扑图如下,应用拓扑操作客户端的请求经过了两层代理,这里CLB和Nginx都要做配置。1,配置CLBCLB的配置比较简单,在配置“监听”时,要附加“X-For...

压测nginx出现的问题分析

压测nginx出现no live upstreams while connecting to upstream的问题分析基础环境版本信息Centos 7.1nginx version: openresty/1.13.6.2nginx配置信息stream {   ...

PHP-性能优化 php性能最优化安全最大化

1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法(非静态方法)在程序运行中生成内存,所以静态方法可...