我如何在 Apache2 中获得 Python cgi 脚本 运行

How do I get a Python cgi script running in Apache2

我有一个位于 /var/www/html/master.com/ 的非常简单的 test.py,我正在尝试 运行 在 Apache2 中 Ubuntu 18.1

我的Python代码:

#!/usr/bin/env python

print("Content-type: text/html\n\n")
print("<h1>Hello</h1>")

到目前为止我有运行:

运行 a2enmod cgi 启用cgi:

ISimon@simon-EasyNote-TK85:~$ a2enmod cgi
Your MPM seems to be threaded. Selecting cgid instead of cgi.
Module cgid already enabled

/etc/apache2/conf-available/ 创建了文件 cgi-enabled.conf,其中包含以下内容:

# create new
# process .cgi and .py as CGI scripts

<Directory "/var/www/html/master.com">
  Options + ExecCGI
  AddHandler cgi-script .cgi .py
</Directory>

重新启动 Apache2 systemctl restart apache2

然后我去了 http://localhost/test.py,它提出要下载文件。它应该显示为普通 html.

如何正确配置我的服务器?

您可能需要将脚本设置为可执行文件

chmod a+x test.py

并且它应该在第一行有 shebang (#!) 来通知系统什么程序应该 运行 这个代码 - 即。

#!/usr/bin/env python