windows下使用Flask+wsgi+Apache部署Python Web

1 简介

Flask是一个轻量级的Web应用框架,用于Python网站开发,它内置了一个微型服务器,仅用于开发和调试。在生产环境下进行正式部署的时候,需要搭建一个正式的Web服务器。部署的方式有多种,本文使用的是Flask+wsgi+Apache的方式。各部件的含义:

Flask —— Python Web 应用框架;

wsgi —— Web服务器网关接口(Python Web Server Gateway Interface),是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口;

Apache —— Web服务器软件。

它们之间的关系:Apache是一个通用的服务器软件,Python程序无法直接部署在Apache上,但可以直接部署在Flask上,wsgi就是Flask和Apache之间的一个桥梁。

2.下载安装

依次需安装pyhton、flask、Apache、mod_wsgi,必须要保证的是,python的版本和mod_wsgi的版本一致,python的MSC版本和Apache的VC++版本一致,否则极有可能会失败。这里使用的python版本是python-3.5.4,在cmd下输入命令python看到MSC版本号是v.1900,对应了VC14。

(1)安装python

官网下载地址:https://www.python.org/downloads/

下载得到文件python-3.5.4-amd64.exe,安装(勾选加入PATH环境变量)。

(2)安装flask

一般python自带pip工具,利用此工具直接安装即可。

进入cmd,输入命令 pip install flask

(3)安装Apache

A.下载安装

下载地址:

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

https://www.apachelounge.com/download/

下载VC14对应的版本,解压出Apache24文件夹,置于一个指定的目录下,这里放在了D盘根目录。

B.检查配置文件中服务器根目录:在D:\Apache24\conf中,打开httpd.conf文件,将Define SRVROOT改为实际的路径:"c:/Apache24" --> "D:/Apache24"

C.启动测试

启动

cmd进入D:\Apache24\bin,输入命令httpd,启动Apache(或将bin目录加入PATH环境变量中,直接启动)。

测试

浏览器访问地址http://localhost/,出现 It works!,表明安装成功。

(4)安装mod_wsgi

A.下载地址:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

选择下载与python一致的版本(红线圈出),其中,cp35标识了python3.5。

B.安装

将.whl文件放到Python35\Scripts目录下,用pip安装。cmd进入Python35\Scripts,依次执行安装、解析命令

安装:pip install "mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win_amd64.whl"

解析:mod_wsgi-express module-config

将出现的三行内容复制到httpd.conf文件中,添加至LoadModule之后,保存。

重启Apache,没有报错表明mod_wsgi加载成功。

注:在Apache中载入mod_wsgi模块,本来应该同其他模块一样,载入一个.so的文件,但是我们拥有的是.whl文件,非.so文件。于是采取的一种策略是,安装.whl,将它的配置信息解析出来,然后再把配置信息完整地载入Apache,这样就达到了目的。

3.创建Python程序

创建目录D:\mytest,新建两个文件mytest.py、mytest.wsgi,写入如下内容

mytest.py

from flask import Flask

app = Flask(__name__)

@app.route('/mytest')
def mytest():
    return 'Hello World.这是一个部署测试。'

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

mytest.wsgi

import sys

#app's path
sys.path.insert(0,"D:/mytest")

from mytest import app

#Initialize WSGI app object
application = app

4.在Apache中配置虚拟主机

打开Apache24\conf目录下的httpd.conf文件,在文件末加入如下内容

<VirtualHost *>
    ServerName mytest.com
    WSGIScriptAlias / D:\mytest\mytest.wsgi
    <Directory D:\mytest\>
        Require all granted
    </Directory>
</VirtualHost>

注意其中的资源路径。

5.访问测试

重新启动Apache,浏览器访问地址 http://localhost/mytest

出现页面内容

完成。

资源打包下载:

windows下使用flask+wsgi+Apache部署pythonweb.rar_pythonweb部署到windows-互联网文档类资源-CSDN下载

参考:

  1. https://blog.csdn.net/mist99/article/details/80771289?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control
  2. https://www.jianshu.com/p/0aa1c7097976
  3. https://blog.csdn.net/firefox1/article/details/46438769
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禺垣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值