How can I run Python CGI scripts on my web server?

2019-07-27 00:32发布

问题:

I want to run a Python CGI script on my web server (Apache 2.2). When I try to run the test.py file I get the following error:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /test.py
on this server.</p>
</body></html>

In the error log:

[client 127.0.0.1] Options ExecCGI is off in this directory: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/test.py

So what could be the problem?

回答1:

The error log is telling you that your Web server isn't configured to allow running CGI scripts from that directory.

See How do I enable CGI execution in directories other than the ScriptAlias? in the Apache FAQ.



回答2:

Add Options ExecCGI to a .htaccess file in the folder where the python file is located.

Besides that, don't use CGI but WSGI to execute python apps...



回答3:

Try mod_python.it's an apache module which gets embedded in apache itself and allow users to run python scripts on