You need to enable JavaScript to run this app. Win10 x64环境下32位Apache2.4部署Flask WSGI服务加载失败求助
优惠活动
大模型
产品
解决方案
定价
更多

Win10 x64环境下32位Apache2.4部署Flask WSGI服务加载失败求助

Flask 32位Apache2.4部署加载失败排查

代码硬错误

  • 路径配置错误:原WSGI脚本中sys.path.insert(0, "C/xampp/htdocs/wsgi scripts/the_app.wsgi") 缺失盘符冒号,且错误指向WSGI脚本文件本身而非Flask项目根目录,无法完成模块导入
  • WSGI脚本框架混淆:脚本内WSGIHandler未导入、web.Application()/web.run_app()属于aiohttp框架代码,mod_wsgi仅需暴露名为application的可调用对象即可,无需编写额外web服务器启动逻辑,未使用的one函数为冗余代码可直接删除
  • Main.py语法错误:
    • 装饰器拼写及语法错误:@app.routye(/ 应为@app.route('/contact'),路由字符串未加引号会直接触发Python解析报错
    • 冗余重复导入Flask模块
    • 开发服务器参数类型错误:port='5000'、debug='True'为字符串类型,应改为整数port=5000和布尔值debug=True

环境适配问题

  • mod_wsgi版本不匹配:当前Apache为32位版本,必须安装对应32位、匹配自身Python大版本的mod_wsgi组件,64位mod_wsgi无法被32位Apache正常加载
  • 权限配置:确认Apache运行账号对项目根目录、模板目录、静态资源目录有读取权限

参考修复代码

修复后的WSGI脚本(the_app.wsgi)

import sys
# 替换为Flask项目根目录的绝对路径,使用正斜杠避免转义问题
sys.path.insert(0, 'C:/xampp/htdocs/your_project_root')
# 导入Flask实例并重命名为application,供mod_wsgi调用
from main import app as application

修复后的Main.py

from flask import Flask, render_template, url_for
from jinja2 import Template

app = Flask(__name__, static_url_path='/static/images/')

@app.route('/', methods=['GET','POST'])
def home():
    return render_template('index.html')

@app.route('/contact', methods=['GET','POST'])
def contact():
    return render_template('contact.html') 

if __name__ == "__main__":
    # 仅本地开发时执行,Apache部署不会触发该段逻辑
    app.run(host='127.0.0.1', port=5000, debug=True)

Apache配置注意事项

  • 开启mod_wsgi模块,在httpd.conf中添加对应模块的加载规则
  • 虚拟主机配置中添加路由映射:WSGIScriptAlias / "你的项目根目录/the_app.wsgi",路径含空格需用双引号完整包裹

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.31 18:54:03