Apache2服务器不执行CGI脚本

我有一个本地Apache2服务器(安装LAMP)。 Apache2目录是/etc/apache2 ,我的文档根目录是/var/www 。 在doc根目录下,有一个/cgi-bin目录,其中包含我的脚本cgi.py 使用./cgi.py执行所需的输出,但是当我将浏览器指向文件时,它会提供给我下载。 显然,这通常是由于访问问题 ,但是在向文件添加a+x权限后,问题仍然存在。

这是简单的脚本:

 #!/usr/bin/python3 # -*- coding: UTF-8 -*- #enable debugging import cgitb cgitb.enable() print("Content-Type: text/plain;charset=utf-8"); print() print("Hello World!"); 

在apache2目录的httpd.conf我添加了以下内容(之前是空的):

 ScriptAlias /cgi-bin/ /var/www/cgi-bin/ <Directory /var/www/cgi-bin/> Options ExecCGI AddHandler cgi-script .cgi .py </Directory> 

脚本不能执行的原因是什么?

编辑:菜鸟的错误,我没有重新启动服务器后, httpd.conf变化。 这样做后,脚本执行。 感谢Jenny D提出的build议。

服务器将只在启动时读取其configuration文件,或者当您明确告诉它重新加载它时。 更改httpd.conf后,需要重新启动服务器或重新加载configuration(通过运行apachectl restart ,或通过运行service httpd reload或其他操作系统/安装程序)。

如果你想有一个重新读取configuration,而不重新启动服务器,有htaccess 。 但是,由于这意味着apache会重新检查每个连接的文件,这会使服务器的速度变慢。 这是否是一个问题当然要取决于服务器开始的负载有多大。