我如何在 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
我有一个位于 /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