【发布时间】:2017-06-12 20:07:48
【问题描述】:
我有以下启动 Flask Web 应用程序的 CGI 脚本。但是我得到的只是500 Internal Server Error
#!/home/xxx/public_html/cgi-bin/venv/bin/python
import site
site.addsitedir("/home/xxx/public_html/cgi-bin/venv/lib/python2.7/site-packages")
from wsgiref.handlers import CGIHandler
from app import app
CGIHandler().run(app)
我在 Apache 的 error_log 中收到以下错误:
[Fri Jan 27 09:53:18.052981 2017] [cgi:error] [pid 20660] [client aa.bb.cc.dd:58331] AH01215: suexec policy violation: see suexec log for more details: /home/xxx/public_html/cgi-bin/app.cgi, referer: http://xxx.io/
[Fri Jan 27 09:53:18.053176 2017] [cgi:error] [pid 20660] [client aa.bb.cc.dd:58331] End of script output before headers: app.cgi, referer: http://xxx.io/
suexec_log 中出现以下错误:
[2017-01-27 09:53:18]: uid: (522/xxx) gid: (534/xxx) cmd: app.cgi
[2017-01-27 09:53:18]: (2)No such file or directory: exec failed (app.cgi)
所有文件都应该在所有正确的位置。不知道如何继续调试。如果有帮助,我确实拥有此服务器的 root 访问权限。
【问题讨论】:
-
/home/xxx/public_html/cgi-bin/app.cgi有问题。如果文件存在,那么它可能有权限问题 - Apache 主要以用户www-data和www-data身份运行,可能无法访问您的文件夹/文件。 -
我正在使用
suexec,所以应该没问题 -
问题 #1 是我的 CGI 脚本有 Windows 行结尾。现在我收到
(13)Permission denied: exec failed (app.cgi)
标签: python apache flask cgi suexec