首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache2服务器不执行CGI脚本

Apache2服务器不执行CGI脚本
EN

Server Fault用户
提问于 2013-02-20 10:35:06
回答 1查看 6.2K关注 0票数 1

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

下面是一个简单的脚本:

代码语言:javascript
复制
#!/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中,我添加了以下内容(它之前是空的):

代码语言:javascript
复制
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory /var/www/cgi-bin/>
    Options ExecCGI
    AddHandler cgi-script .cgi .py
</Directory>

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

编辑:菜鸟错误,我没有重新启动服务器后,对httpd.conf进行了更改。完成之后,脚本执行。感谢詹妮·D的建议。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-02-20 11:07:45

服务器只会在启动时读取它的配置文件,或者当您特别告诉它重新加载它时。更改httpd.conf后,您需要重新启动服务器或重新加载配置(通过运行apachectl restart或运行service httpd reload,或根据操作系统/安装程序的不同而进行其他操作)。

如果您希望在不重新启动服务器的情况下重新读取配置,则会出现htaccess。但是,因为这意味着apache将重新检查每个连接的文件,这将使服务器慢一点。当然,这是否是一个问题将取决于服务器必须从多大的负载开始。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/480606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档