Windows上部署Python flask项目
最近使用Python flask做了一个项目要部署,网上一大堆教程没有一个完整,最后看了多个教程才配置完成,下面根据自己的环境整理一下做个备忘录
环境:
Windows 10
apache httpd-2.4.54(vc++我从2008-2022全装了)
Python 3.11(环境变量别忘了配)
MySQL 8.0.31(项目中用到了数据库)
上面的环境需要提前装好,下面直接说配置。
配置
安装mod_wsgi
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
注意要和Python版本一样,Python 3.11选择cp311,这里选择的是 mod_wsgi‑4.9.2‑cp311‑cp311‑win_amd64.whl

cmd启动后使用pip安装,pip找不到时要添加系统变量,或者cmd进入Python安装目录下的Scripts文件夹,执行安装:
pip install mod_wsgi-4.9.2-cp311-cp311-win_amd64.whl

安装依赖
这个项目用到了下面两个依赖
pip install Flask==2.3.2
pip install PyMySQL==1.0.3
flask项目
把flask项目复制到www目录中,这里放到D:\01.www\html\flask目录中,入口文件是main.py

这里创建个main.wsgi文件,写入内容:
import sys
#app's path 替换成自己的目录
sys.path.insert(0,"D:/01.www/html/flask")
#main是主程序,根据自己的填写
from main import app
#Initialize WSGI app object
application = app
注:这里的app's path目录一定要用正斜杠,反斜杠的话会提示Internal Server Error因为是Windows系统,习惯复制目录粘贴,而复制的目录里是反斜杠,所以这里容易出错。
httpd.conf配置
打开httpd.conf文件,找到mod_access_compat把前面的#号去掉
LoadModule access_compat_module modules/mod_access_compat.so
打开cmd 执行命令:
mod_wsgi-express module-config

复制回显内容,粘贴到LoadModule之后。
然后再文件最后添加
<VirtualHost * >
ServerName auth.com
WSGIScriptAlias / "D:\01.www\html\flask\main.wsgi"
<Directory "D:\01.www\html\flask">
Require all granted
</Directory>
</VirtualHost>
其中WSGIScriptAlias指定刚创建的wsgi文件,Directory指定www中flask项目目录。
重启apache服务,成功后,访问页面

Windows上部署Python flask项目的更多相关文章
- 使用wfastcgi在IIS上部署Python Flask应用
本文介绍了如何在Windows上部署Python Flask应用,相关环境如下: 操作系统:windows 7 Python:3.4 WFastCGI: 2.2 应用所用到的包版本如下: Flask= ...
- 【Centos】【Python】【Flask】阿里云上部署一个 flask 项目
1. 安装 python3 和 pip3 参考:http://www.cnblogs.com/mqxs/p/8692870.html 2.安装 lnmpa 集成开发环境 参考:http://www.c ...
- 使用Nginx+Uwsgi部署Python Flask项目
第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...
- [傻瓜式一步到位] 阿里云服务器Centos上部署一个Flask项目
网络上关于flask部署Centos的教程有挺多,不过也很杂乱. 在我第一次将flask上传到centos服务器中遇到了不少问题,也费了挺大的劲. 在参考了一些教程,并综合了几个教程之后才将flask ...
- 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识
---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...
- Windows上部署Python
以Python 3.5为例 1.到https://www.python.org/downloads/windows/下载embeddable zip file类型的压缩包python-3.5.1-em ...
- 【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
问题描述 在上篇博文"[Azure 应用服务]App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)"中,实现了通过 HT ...
- 在 Windows 上使用 Python 进行 web 开发
本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上一篇我们介绍了在Windows 10下进行初学者入门开发Python的指 ...
- Nginx + FastCGI + Django在windows上部署及nginx常用命令
一般应用都是部署在linux系统上,不会在windows上部署,emmm..所以有兴趣的就瞧瞧吧哈哈 nginx工作原理: nginx用于处理静态文件,动态部分经由fastcgi .scgi或uWSG ...
- 在windows上部署使用redis出现的问题及解决方法
在windows上部署使用Redis出现问题的解决方法 原文链接:https://www.cnblogs.com/herry52/p/5938902.html 下载Redis 在Redis的官网下载 ...
随机推荐
- leaflet 绘制 点 线 面 圆 椭圆 线缓冲区
leaflet有个绘图插件Leaflet.draw,但是我不想要它的控件,只想用它的绘制功能,控件我自己提供,当时不知道如何使用,就自己写了个绘制点线面圆和椭圆的工具,代码如下: /// <re ...
- 【QT】tr()的作用
函数 tr() 全名是 QObject::tr() ,被它处理的 字符串可以 使用工具提取出来翻译成其他语言, 也就是做国际化使用. 只要记住,Qt 的最佳实践:如果你想让你的程序国际化的话,那么,所 ...
- 【每日一题】32. 比赛 (DFS / 概率DP)
补题链接:Here [方案一:DFS] 首先我们可以计算出每道题做不出来的概率 \(unsolve[i] = (1 - a[i])(1- b[i])(1 - c[i])\) 然后因为只有 12 道题, ...
- Python | 解放双手,用Python实现自动发送邮件
解放双手,用Python实现自动发送邮件 使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间. Python有两个内置库:smtplib和email,能够实现邮件功能, ...
- 叮~OpenSCA社区拍了拍您并发来一份开源盛会邀请函
2023数字供应链安全大会(DSS 2023)将于8月10日在北京·国家会议中心举办.本次大会以"开源的力量"为主题,由悬镜安全主办,ISC互联网安全大会组委会.中国软件评测中心( ...
- vue学习笔记 四、定义组件(组件基本结构)
系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...
- oracle数据库锁表后的处理方案
oracle数据库, 数据库(执行查询语句或存储过程执行)操作,导致表被锁死的情况的解决方案: 一.查看已经锁定的数据库表 select b.owner,b.object_name,a.session ...
- C++初始化列表时,形参和实参名可以一样,编译器可以识别
在这里初始化列表直接用age(age)即可,用this->age(age)反而会出错,C++不允许在成员初始化列表中使用this关键字来初始化类成员 class Person { public: ...
- Laravel - 创建项目
1,创建目录 ( 路径不要带有中文 ) 2,进入目录,执行下列命令 composer create-project --prefer-dist laravel/laravel project
- NodeJS安装指南(Mac)
nvm,node,npm之间的区别 nvm:nodejs 版本管理工具. 也就是说:一个 nvm 可以管理很多 node 版本和 npm 版本. nodejs:在项目开发时的所需要的代码库 npm:n ...