python使用Apache+mod_wsgi部署Flask

这篇具有很好参考价值的文章主要介绍了python使用Apache+mod_wsgi部署Flask。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装python环境(V3.10.10)

安装时勾选"Add python.exe to PATH"就不需要手动配置环境变量了:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
直接下一步即可:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
选择自己的安装目录:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

安装完成后验证是否安装配置成功,打开cmd,输入如下命令:

python -V

如下则表示配置成功:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

二、安装mod_wsgi

下载地址
注意要和Python版本一样,Python 3.10选择cp310,这里我选择的是 mod_wsgi-4.9.2-cp310-cp310-win_amd64.whl
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
在下载文件目录打开cmd输入如下命令进行安装:

pip install mod_wsgi-4.9.2-cp310-cp310-win_amd64.whl

安装成功如下所示:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

项目目录下创建main.wsgi

import sys
 
#path 替换成自己的项目目录
sys.path.insert(0,"D:/File/first_flask")
 
#first_flask是主程序,根据自己的填写
from first_flask import app
 
application = app

python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

三、安装Apache

官网点击这里

1、下载

点击"Download"
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
点击"Files for Microsoft Windows"
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
点击"Apache Lounge"
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
选择与自己系统匹配的安装包进行下载
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

2、解压

python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

3、配置

配置文件位于解压目录下:Apache24/conf/httpd.cnf
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

配置SRVROOT,修改为自己的目录即可,注意路径格式,最后一层路径没有"/"
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
配置监听端口,根据自己需要进行配置:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

打开如下的配置信息(删除最前面的#):
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

打开cmd输入如下命令,将输出结果添加到配置文件中:

mod_wsgi-express module-config

输入结果第二行信息就是我们需要的信息:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
将如上信息添加到httpd.conf文件中
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
在文件末尾添加如下信息(注意修改相关配置):

<VirtualHost * >
	ServerName flask.com    #可以不配置,有域名可以自行配置
	WSGIScriptAlias / "D:\File\first_flask\main.wsgi"
	<Directory "D:\File\first_flask">
		Require all granted
	</Directory>	
</VirtualHost>

说明:WSGIScriptAlias为我们创建的main.wsgi的路径,Directory为我们的项目路径

python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
测试配置文件是否合法:在apache解压的bin目录下打开cmd,输入如下命令

httpd -t

python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi

四、安装项目依赖

该demo我就只需要安装flask依赖即可

pip install Flask -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
项目源代码如下(first_flask.py):

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "<h1 style='color:red'>Hello World</h1>"

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

五、启动

在apache目录下双击httpd.exe即可:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
访问:192.168.239.129:8998

python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
查询apache运行日志可以在解压的log目录下查看。

六、基于多端口部署多个flask项目

项目代码我们复制之前的,main.wsgi也复制之前的,调整一下配置路径即可,得到文件"first_flask2.py"和"main2.wsgi",文件内容如下:
first_flask2.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "<h1 style='color:red'>Hello World2</h1>"

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

main2.wsgi

import sys
 
#path 替换成自己的目录
sys.path.insert(0,"D:/File/first_flask")
 
#main是first-flask,根据自己的填写
from first_flask2 import app
 
application = app

配置httpd.conf文件
①添加监听端口
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
②添加VirtualHost配置

<VirtualHost 192.168.239.129:8998 >
	ServerName flask.com
	WSGIScriptAlias / "D:\File\first_flask\main.wsgi"
	<Directory "D:\File\first_flask">
		Require all granted
	</Directory>	
</VirtualHost>

<VirtualHost 192.168.239.129:8999 >
	ServerName flask2.com
	WSGIScriptAlias / "D:\File\first_flask\main2.wsgi"
	<Directory "D:\File\first_flask">
		Require all granted
	</Directory>	
</VirtualHost>

python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi
重启apache即可:
python使用Apache+mod_wsgi部署Flask,python,python,apache,flask,mod_wsgi文章来源地址https://www.toymoban.com/news/detail-800578.html

到了这里,关于python使用Apache+mod_wsgi部署Flask的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】极简部署私有化ChatGPT-Web,使用Flask框架编写网页版ChatGPT

    python环境下可极简配置 windows、linux、mac os均可部署 支持多用户使用 多对话管理 公式显示 流式逐字加载显示 代码高亮 仓库链接地址:https://github.com/LiangYang666/ChatGPT-Web,用的好麻烦给个star啦 可参照README 执行 python flask_main.py 运行程序.若程序中未指定apikey也可以在终端执行时

    2024年02月01日
    浏览(71)
  • Python学习笔记-WSGI接口

    Web服务器网关接口 ( Python Web Server Gateway Interface ,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。 是CGI和FastCGI的升级版本。 当服 客户端发起一个请求 服务器通过

    2024年02月16日
    浏览(36)
  • django-release-debug-apache-mod-wsgi-原理解析

    由于django处理静态资源的效率偏低,顾在release模式不支持静态资源,这种情况需要在apache下配置静态资源路径。在Apache24conf目录下httpd.conf文件中,添加映射,如下所示: 在windows下,mod_wsgi作为一个动态链接库加载进apache内存,如下图所示: mod_wsgi不能作为单独进程运行。

    2024年02月04日
    浏览(40)
  • python项目结构示例(python代码结构、python目录结构)与python部署结构、python部署目录、flask项目结构、flask目录

    myproject/ :项目的根目录,也是Python包的根目录。 myproject/__init__.py :一个空的 __init__.py 文件,用于将 myproject 目录标记为一个Python包。 myproject/module1.py 、 myproject/module2.py 等:项目的模块文件,包含项目的核心代码。 tests/ :测试目录,包含用于测试项目代码的测试文件。

    2024年02月12日
    浏览(61)
  • Apache HTTP Server <2.4.56 mod_proxy_uwsgi 模块存在请求走私漏洞(CVE-2023-27522)

    Apache HTTP Server 是一个Web服务器软件。 该项目受影响版本存在请求走私漏洞。由于mod_proxy_uwsgi.c 中uwsgi_response方法对于源响应头缺少检查,当apache启用mod_proxy_uwsgi后,攻击者可利用过长的源响应头等迫使应转发到客户端的响应被截断或拆分,进而可能造成会话劫持等危害。 漏

    2024年02月09日
    浏览(52)
  • python Flask web项目uwsgi + nginx部署

    略 2.1安装vertualenv 2.2创建虚拟环境 创建保存环境的目录: 创建虚拟环境: 查看虚拟环境: 2.3激活虚拟环境 activiate是激活虚拟环境的命令脚本,在虚拟环境的bin目录下 执行activate激活环境 3.1安装uwsgi 激活虚拟环境,安装uwsgi 3.2基于uwsgi运行flask项目 3.2.1命令的方式 3.2.2配置文

    2024年02月10日
    浏览(49)
  • 使用宝塔面板部署flask环境

    之前部署采用编译式,费时又费力,这次咱们采用简便的方法,就是采用宝塔面板进行安装。首先什么是宝塔面板呢,就是linux可视化管理工具,所以需要安装一下,这里说一下centos系统的安装 一、输入如下命令 接下来等几分钟,等出现下面的画面就是安装完成了 其中user

    2024年02月02日
    浏览(58)
  • 【小沐学Python】Python实现Web服务器(Flask打包部署上线)

    🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈 🎈【Web开发】Python实现Web服务器(Flask案例测试)🎈 🎈【Web开发】Python实现Web服务器(Flask部署上线)🎈 🎈【Web开发】Python实现Web服务器(Tornado入门)🎈 🎈【Web开

    2024年02月12日
    浏览(60)
  • 使用 Flask 部署 Next.js

    原文 使用 Flask 部署 Next.js Flask 和 Next.js 是两个独特的开源 Web 框架,分别构建在 Python 和 JavaScript 编程语言之上。 您可以在没有 Next.js 的情况下构建 Flask 应用程序,也可以在没有 Flask 的情况下构建 Next.js 应用程序。但是,您可能会发现自己使用 Flask 构建了一个应用程序,

    2024年02月12日
    浏览(47)
  • 使用Flask简单部署深度学习模型

    当客户端想要获取资源时,一般会通过浏览器发起HTTP请求。 此时,Web服务器会把来自客户端的所有请求都交给Flask程序实例。 程序实例使用Werkzeug来做路由分发(URL请求和视图函数之间的对应关系)。 根据每个URL请求,找到具体的视图函数并进行调用。在Flask程序中,路由的

    2023年04月25日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包