提前感谢您对此的任何帮助,我有点新手,并且一直在寻找我想做错的事情。
我有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>
任何帮助都会非常感激,因为我不知道我还有什么其他的错误!
答案 0 :(得分:1)
我终于弄明白了这个问题。就是我用yum安装了mod_wsgi,并且它是一个不同版本的python的precomilid。它适用于SE linux inabled。为了解决这个问题,我运行了以下代码行
yum install httpd-devel
git clone https://github.com/GrahamDumpleton/mod_wsgi.git
cd mod_wsgi
./configure --with-python=/usr/bin/python2.7
make
make install
然后输出模块(.so)文件的路径。它看起来很正确,但为了完整起见,我更改了文件: /etc/httpd/conf.modules.d/10-wsgi.conf
这
LoadModule wsgi_module modules/mod_wsgi.so
到
LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi.so
因为那是make步骤的输出路径而且有效!!