【发布时间】:2015-11-22 02:52:31
【问题描述】:
提前感谢您对此提供的任何帮助,我是一个新手,并且一直在到处寻找我做错了什么。
我有 Apache 2.4.6,python 2.7 centos 7。
我有一个简单的 python 脚本
/var/www/html/test.py
在它的脚本中
#!/usr/bin/env python
print 'Hello World!'
权限已检查(777只是因为我想不通):
-rwxrwxrwx. 1 apache apache 192 Aug 27 11:45 test.py
运行命令
/var/www/html/test.py
作品查找并显示 Hello World!
apache 的日志说
[Thu Aug 27 11:38:53.703606 2015] [cgi:error] [pid 10218] [client 86.159.50.246:61086] AH01215: (13)Permission denied: exec of '/var/www/html/test.py' failed
相关apache配置如下:
LoadModule wsgi_module modules/mod_wsgi.so
<Directory /var/www/html/>
Order allow,deny
Require all granted
allow from all
Options +ExecCGI
AddHandler cgi-script .py
</Directory>
任何帮助将不胜感激,因为我不知道我做错了什么!
【问题讨论】:
-
你启用了 SELinux 吗?
-
已启用。不幸的是,当我禁用它并重新启动服务器时,我失去了连接它的能力,因为它是亚马逊服务器。所以我现在正试图在家庭虚拟机上重建整个东西......
-
好的,我已经建立了一个全新的服务器,一切都是新鲜的,一切都一样接受我使用单独的默认 cgi-bin 目录,所以 /var/www/cgi-bin/test.py 和
AllowOverride None 要求所有授予的选项 +ExecCGI AddHandler cgi-script .py 和脚本别名匹配。 se linux 被禁用,我得到同样的错误!!! -
是的,因为您正在编写 CGI 脚本,所以 mod_wsgi 与它无关。不过,您确实应该远离使用 CGI 脚本。如果想认真编写 Python Web 应用程序,请从学习 Flask 开始,当您了解开发服务器的基础知识后,才考虑使用 mod_wsgi 部署到 Apache。
标签: python apache python-2.7 mod-wsgi permission-denied