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

问题描述 投票:0回答:1

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

我的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

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

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

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

[systemctl restart apache2重新启动Apache2

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

如何正确配置服务器?

python apache server apache2 cgi
1个回答
0
投票

您可能必须将脚本设置为可执行文件

http://localhost/test.py

并且它应该在第一行中包含shebang(chmod a+x test.py ),以通知系统哪个程序应运行此代码-即。

#!
© www.soinside.com 2019 - 2024. All rights reserved.