【发布时间】:2020-12-08 22:02:08
【问题描述】:
多年来,我一直使用 Perl 作为我的 CGI,但最近决定开始使用 Python。我认为将我的 Apache 服务器更改为使用新语言将是一件简单的事情。 多年来,除了定期添加新的虚拟主机之外,我几乎没有对 Apache 做任何事情。
我复制并粘贴到新文件的 conf 内容是:
DocumentRoot /var/www/virtual/nik/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/virtual/nik/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Require all granted
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/var/www/virtual/nik/www/cgi">
AddHandler cgi-script .pl .py
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Require all granted
</Directory>
我所做的只是将 .py 添加到 conf 中。 我已经安装并加载了 CGID 和 WSGI 模组。 我重新启动了 Apache。 如果我将 Perl 脚本放在与 Python 相同的 cgi 目录中,它会正常运行。
Python3 已安装,python 脚本从命令行运行。 在浏览器中运行相同的脚本会产生 500 错误。 shebang 是:#!/usr/bin/env python3。
有什么想法吗?
【问题讨论】: