python - 带有 flask 的 mod_wsgi 配置

标签 python centos flask mod-wsgi

我在使用 mod_wsgi 和 flask 时遇到问题 我不确定是什么问题,经过将近 48 小时的尝试,我终于放弃了,需要一些帮助。一切似乎都很好并且工作正常我知道这一点,因为如果用户未登录,我的 www.example.com 域会路由到 example.com/login。

当我访问 example.com 时,路由确实发生了,我可以看到 url 更改为 example.com/login

这是我的配置:

killerapp.wsgi:

from main import app as application

和 apache 虚拟主机:

NameVirtualHost *:8080
<VirtualHost *:8080>
 ServerName example.com

 WSGIDaemonProcess killerapp user=apache group=apache threads=5
 WSGIScriptAlias / /var/www/wsgi/killerapp.wsgi

  <Directory /var/www/wsgi>
     WSGIProcessGroup killerapp
     WSGIApplicationGroup %{GLOBAL}
     Order deny,allow
     Allow from all
  </Directory>
</VirtualHost>

我一直收到以下错误

ImportError: No module named app

当我做的时候

chmod 755 app

在应用程序文件夹上,我在日志文件中得到以下指示没有错误:

[Wed Nov 06 17:25:29 2013] [info] [client xx.xx.x.xxx] mod_wsgi (pid=3823, process='killerapp', application=''): Loading WSGI script '/var/www/wsgi/killerapp.wsgi

但是当我访问该页面时仍然出现以下错误:

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

我怀疑这是一个所有权/安全问题,但这只是我的猜测,我目前还不知道。如果它有任何帮助我在 Centos 6.4 和 mod_wsgi 3.2.3 上运行 python 2.6.6

任何帮助将不胜感激。 谢谢

最佳答案

非常感谢 Mark Hildreth 向我展示了“方法”,我终于找到了问题所在。这是一个权限问题

在我的 python 应用程序中,我在初始化 flask 应用程序后打开调试,如下所示:

app = Flask(__name__)
app.debug = True

这允许 Flask 在 apache 错误日志中显示错误消息。在我的例子中,问题是 Jinja 无法访问模板目录,因为 apache 用户未设置为该目录的所有者,因此以下修复了它:

chown apache:apache templates

再次感谢 Mark Hildreth 向我展示了光明!

关于python - 带有 flask 的 mod_wsgi 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19816891/

相关文章:

python - 如何使用 BeautifulSoup 获取最后一个 URL 链接元素

linux - 在 Fusion 的 CentOS 7 中设置 Jupyter

python - 如何将 flask 应用程序部署到 ubuntu

css - Flask 在 aws elastic beanstalk 上将 css 文件呈现为空

python - 使用模糊正则表达式(Python)来纠正拼写

python - 如何将数据集拆分/分区为训练和测试数据集,例如交叉验证?

python - 获取 Pandas 数据框中重复行的所有ID

PHP 无法写入 Web 服务器,即使使用 chown

centos - centos 8包安装中的"Error: conflicting requests"

python - Flask_httpauth 装饰器缺少所需的位置参数 f