我试图让Apache来运行Python脚本。 我在RHEL6上安装了MOD_WSGI,Apache,Python。 我甚至编辑了httpd.conf文件来包含这些行。
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews ExecCGI AddHandler cgi-script .cgi AddHandler wsgi-script .wsgi AllowOverride None Order allow,deny allow from all </Directory>
我也重新启动了Apache服务器。 但是当我尝试执行python脚本,它只是在浏览器中打印为纯文本。 它根本没有被执行。 请有人帮忙
通过发出apache2ctl -t -D DUMP_MODULES或apachectl -t -D DUMP_MODULES查看模块是否已正确加载。 如果不是的话,编辑你的httpd.conf文件或包含的文件以包含以下内容(如果需要,用lib64replacelib ):
LoadModule wsgi_module /usr/lib/httpd/modules/mod_wsgi.so
请注意,您不能使用WSGI执行任何python脚本 – 如果我没有记错,它必须支持与WSGI处理程序的接口。 如果你想执行任何python脚本,也许你应该使用普通的老CGI,这很慢(不要在生产中使用它,如果你有比你更多的用户),但很容易。 如果你的脚本是在cgi-bin并且他们在顶部有正确的shebang ,那么他们应该已经可以工作了。
如果你想使用mod_python让Apache执行常规的python脚本,首先确保你正在加载模块:
LoadModule python_module modules/mod_python.so
然后将其添加到您的configuration中,例如在一个目录块中,首先删除其他更改:
AddHandler mod_python .py PythonHandler mod_python.publisher
mod_python和mod_wsgi都需要特殊的代码来处理这些相应的处理程序。 如果你的目标是简单地执行普通的Python脚本,使用cgi。 在Redhat中,默认位置是/var/www/cgi-bin/ ,并且已经映射到apache中的path/cgi-bin/ 。