You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu服务器Flask+Apache+WSGI部署500错误求助

问题:Ubuntu服务器上Apache+WSGI部署Flask应用遇500错误及activate_this.py解码异常

基础信息

  • 部署环境:Ubuntu服务器,使用Apache、mod_wsgi、Python3.8运行Flask应用
  • 已遵循Flask官方mod_wsgi部署指南及教程搭建项目
  • 项目根目录:/var/www/html/base/BE
  • 项目结构:
├── activate_this.py
├── base_be.wsgi
├── be
│   ├── __init__.py
├── be.conf
├── myenv  # 虚拟环境目录
└── src
    ├── __init__.py
    ├── MY_SRC_FILE.py
  • ./be/__init__.py内包含官方教程所述的create_app工厂函数
  • 已将api.base添加至/etc/hosts文件

出现的问题

  1. activate_this.py执行报错:尝试添加GitHub上的activate_this.py代码以激活虚拟环境时,触发以下异常:
mod_wsgi (pid=34272): Failed to exec Python script file '/var/www/html/base/BE/base_be.wsgi'.
mod_wsgi (pid=34272): Exception occurred processing WSGI script '/var/www/html/base/BE/base_be.wsgi'.
Traceback (most recent call last):
  File "/var/www/html/base/BE/base_be.wsgi", line 4, in <module>
    exec(file_.read(), dict(__file__=activate_this))
  File "<string>", line 28, in <module>
AttributeError: 'str' object has no attribute 'decode'
  1. 访问返回500错误:访问api.base/auth/login路径时,始终返回500内部服务器错误

Apache虚拟主机配置文件(my_application.conf)内容

<VirtualHost *:80>
    ServerName api.base
    WSGIDaemonProcess api.base python-path=/var/www/html/base/BE python-home=/var/www/html/base/BE/myenv
    WSGIProcessGroup api.base
    WSGIScriptAlias / /var/www/html/base/BE/base_be.wsgi 
    <Directory /var/www/html/base/BE/>
            Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

疑问

  • 如何配置才能让应用正常运行,且可通过api.base/auth/login正常访问?
  • 部署过程中遗漏了哪些关键步骤?
  • 当前问题的根本原因是什么?

内容的提问来源于stack exchange,提问作者Javier Gonzalez Moncayo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:13:11