2

我正在 Apache 和 Mysql 上的 CentOS 6.6 上开发一个 Flask 应用程序。它是从The Flask Megatutorial修改而来的。我能够正常创建数据库,但是当我尝试从浏览器访问它时,我得到 500 内部服务器错误,并且在 error_log 文件中:

content type: text/html



<h1>Hello world!</h1>
[Sun May 03 18:39:53 2015] [error] [client my.ip.add.res] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Sun May 03 18:39:53 2015] [error] [client my.ip.add.res] Premature end of script headers: runp-mysql.fcgi

这是在我将 runp-mysql.fcgi 文件编辑为以下内容之后:

#!flask/bin/python
#encoding=UTF-8
#import os

print "content type: text/html\n\n"
print ""
print "<h1>Hello world!</h1>"

从命令行运行它可以正确完成。

我的 httpd.conf 文件以此结尾:

FcgidIPCDir /tmp
AddHandler fcgid-script .fcgi
<VirtualHost *:80>
    DocumentRoot /home/apps/my_app/app/static
    Alias /static /home/apps/my_app/app/static
    ScriptAlias / /home/apps/my_app/runp-mysql.fcgi/
</VirtualHost>
4

2 回答 2

0

我也在做同样的事情,一个主要问题是文件的权限。确保它是可执行的而不是只读的。

另外我不认为 runp-mysql.fcgi 是您想要打印的地方。它应该在视图文件中。这是您应该连接到 mysql 数据库然后启动 wscgi 服务器的地方。

于 2015-07-13T12:03:48.313 回答
0

根据我的实际问题,这是一个非常宽松的答案,我只上传它以防其他人遵循相同的教程并且也有部署问题。它的要点是在我用于部署的python版本(2.7)下,触发器模块不起作用,我不得不使用flup。对于遇到相同错误的任何人-尝试一下,它可能会起作用。

于 2015-07-14T19:07:58.713 回答