Windows下部署Flask的Web服务

1、说下了解写web服务器,web框架与 WSGI 之间的关系:

Windows下部署Flask的Web服务

Web服务器层:Web服务器的主要作用就是接收请求 、处理请求、返回响应。比如:Nginx,Apache,IIS等。

Web框架层:Web框架的作用主要是方便我们开发 web应用程序,HTTP请求的动态数据就是由 web框架层来提供的。比如:Django、Flask等。

WSGI层:WSGI 不是服务器,也不是用于与程序交互的API,只是一种接口,它只适用于 Python 语言,其全称为 Web Server Gateway Interface,定义了 web服务器和 web应用之间的接口规范。也就是说,

只要 web服务器和 web应用都遵守WSGI协议,那么 web服务 器和 web应用就可以随意的组合。

需要注意的是:mod_wsgi 版本、Apache 版本、Windows 环境、 Python 的版本要一一匹配

需要安装:Python,Flask,Apache,mod_wsgi

Python,Flask的安装就不说了,下面重点说下Apache,mod_wsgi

先确定python版本和vc版本关系:

Windows下部署Flask的Web服务

Python版本:

Windows下部署Flask的Web服务

这样,我们就知道,Python3.6.4 对应VC 2015

选择对应VC2015、64位的版本下载。

1、Apache下载及安装

路径:https://www.apachelounge.com/download/https://www.apachehaus.com/cgi-bin/download.plx

后面的链接下载老是超时,前面路径可以

Windows下部署Flask的Web服务

Windows下部署Flask的Web服务

VC 2015

Windows下部署Flask的Web服务

将压缩包下载到本机,解压到需要的目录:D:\Apache24

修改配置:

D:\Apache24\conf

Windows下部署Flask的Web服务

文本文件打开

修改

Windows下部署Flask的Web服务

Windows下部署Flask的Web服务

将httpd.conf配置文件中的 “Require all denied” 修改为 “Require all granted”

确保8088端口没有被占有,如果被占用改成其他端口

把D:\Apache24\bin 添加到环境变量中

启动服务,

Windows下部署Flask的Web服务

也可以启动cmd,在httpd -k install -n “Apache”,将apache服务加入到Windows服务中,如图:

Windows下部署Flask的Web服务

Windows下部署Flask的Web服务

如果服务启动失败,很可能是httpd.conf里面配置的端口被占用,修改成其他端口测试一下

输入地址访问:http://localhost:8088/
;

Windows下部署Flask的Web服务

这样,apache就运行成功了

2、下载编译好的 mod_wsgi
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

应该下载:mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl

但是没有找到该版本,只能下载:

Windows下部署Flask的Web服务

把下载的mod_wsgi-4.7.1-cp36-cp36m-win_amd64.whl文件复制到python\Scripts下使用
用pip进行安装

进行安装在安装成功后在python的安装目录的\scripts文件夹下运行

Windows下部署Flask的Web服务

mod_wsgi-express module-config

LoadFile "C:\Python36\python36.dll"
LoadModule wsgi_module "C:\Python36\lib\site-packages\mod_wsgi\server\mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "C:\Python36"

Windows下部署Flask的Web服务

然后拷贝到http.conf 中,添加到其他的 loadmodule后。

重点:就是将执行mod_wsgi-express module-config后控制台中显示的这三行内容拷贝到 http.conf 中

重新启动Apache
没有报错则表示 mod_wsgi 模块在加载成功了。

Windows下部署Flask的Web服务

修改apache配置

现在说明一下,我们需要修改的地方:

1、ServerRoot “c:/Apache24″:修改成自己的目录地址

2、Listen 80:端口号配置,部分用户可能会发现自己的80端口占用,可能是IIS或者SQLserver占用,我们可以通过修改这个端口号,方便测试

ServerName example.com
    WSGIScriptAlias / E:\AI\tv_service\tv_service.wsgi

        Require all granted

要在局域网内访问,需要开启对应端口的入栈规则

如果有问题参考官网:如果有问题推荐看官网配置,它才会同步更新:

http://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html

重启apache,然后输入url地址访问:
http://localhost/hello

参考:Windows下部署Flask的Web服务

https://blog.csdn.net/u012748719/article/details/90477779

https://blog.csdn.net/k295330167/article/details/80616519

Original: https://www.cnblogs.com/shaosks/p/15802500.html
Author: shaomine
Title: Windows下部署Flask的Web服务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/553461/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java反序列化_link_six

    0x01前言 经过cc链一的学习,然后jdk的版本一更新那两条链子就不能用了,然后这种反序列化的话就很不不止依赖于cc包的引入还有jdk版本,于是就出现了cc_link_six一个…

    技术杂谈 2023年6月21日
    070
  • 部署-jenkins与gitlab结合使用

    jenkinis配置 在之前的博文中,博主已经搭建好了gitlab和jenkins环境。接下来,博主就要进行gitlab和jenkins的联合使用。 源码仓库配置 这里,我们需要配…

    技术杂谈 2023年7月23日
    081
  • SSH 三步解决免密登录

    本地客户端生成公私钥:(一路回车默认即可) ssh-keygen 上面这个命令会在用户目录.ssh文件夹下创建公私钥 cd ~/.ssh ls 下创建两个密钥: 这里测试用的服务器…

    技术杂谈 2023年5月31日
    0104
  • PHPExcel插件生成exel表:有的excel能打开,有的excel打不开

    PHPExcel导出xls无法打开文件问题 在header之前,通过清除缓冲区:ob_end_clean();然后excel打开就正常了;亲测,有效。 PHPExcel插件生成ex…

    技术杂谈 2023年5月31日
    095
  • docker容器编排原来这么丝滑~

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 概念介绍: Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Doc…

    技术杂谈 2023年7月10日
    095
  • Go基础:基础语法与使用

    这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记。 1. 变量 声明变量 var a int var b string var c []float32 // 这种形式…

    技术杂谈 2023年7月24日
    077
  • 软件测试基础理论(2)

    一, 为什么要进行软件测试 为了通过软件&amp…

    技术杂谈 2023年7月25日
    070
  • 我是仙人掌社论

    闲话被虎哥扬了,哼哼啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊! 遂水篇博客 . 我是仙人掌珂…

    技术杂谈 2023年7月23日
    0111
  • 企业架构如何实施的简介(TOGAF深度好文)

    本文来自企业架构学院: BangEA:如何实施企业架构? IT不仅是开展业务的手段,而且正在迅速演变为业务,IT绩效会直接影响企业的盈利能力,但很多企业并没有适时或充分的让IT组织…

    技术杂谈 2023年5月31日
    096
  • Typora-发布文章到博客园

    Typora-发布文章到博客园 发布文件到博客园,需要先对博客园进行设置: 进入 帐户中心, 点击 博客设置 滑动滚动条到最底部,点击 其它设置,开启”允许 MetaW…

    技术杂谈 2023年6月1日
    0121
  • ftp的passive模式

    ftp的passive模式 今天在一台测试服务器上搭建ftp,折腾了许久。 主要是不了解ftp的passive模式和port模式的区别。这里记录一下。 和passive模式对应的叫…

    技术杂谈 2023年6月1日
    0108
  • 麦克风采集与播放 (源码)

    在网络聊天系统中,采集麦克风的声音并将其播放出来,是最基础的模块之一。本文我们就介绍如何快速地实现这个基础模块。 有几个与声音采集和播放相关的专业术语必须要先了解一下,否则,后面的…

    技术杂谈 2023年6月1日
    0121
  • vuex里mapState,mapGetters使用详解

    一、基本用法 1. 初始化并创建一个项目 2. 安装 vuex 3. 在 src 目录下创建 store.js 文件,并在 main.js 文件中导入并配置 store.js 中写…

    技术杂谈 2023年5月31日
    0114
  • MySQL8.0新特性—窗口函数

    窗口函数(window functions)是一种对结果集进行计算,并将计算结果合并到结果集上返回多行的一类函数。MySQL8开始支持窗口函数,包括RANK()、LAG()和NTI…

    技术杂谈 2023年7月24日
    063
  • 十、包机制与JavaDoc

    一、包机制 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语句格式为: package pkg1[. pkg2[. pkg3…]]; 一般使用公司域名…

    技术杂谈 2023年6月21日
    0103
  • SQL练习题

    以下所有操作在查询管理器中手工书写sql语句完成 1.2、在这个数据库中创建一个名为[学生表(student)]的表,由[学号]、[姓名]、[专业]、[班级]字段组成。[学号] 字…

    技术杂谈 2023年7月25日
    077
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球