У меня был некоторый успех со следующим:
1). Установите libapache2-mod-python
$ sudo apt install libapache2-mod-python
$ sudo a2enmod python
2). Добавьте это в новый файл в / etc / apache2 / sites-enabled / - изменив соответствующие части так, как вам удобно
<VirtualHost *:80>
#
ServerName yourpythonserver.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/py
<Directory /var/www/py>
AddHandler mod_python .py
PythonHandler index
PythonDebug On
DirectoryIndex index.py
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
3). Как видно из приведенного выше конфига, он будет обслуживать запросы, направленные на yourpythonserver.com
с /var/www/py
- по умолчанию index.py
4). Создайте файл /var/www/py/index.py
со следующим:
#!/usr/bin/env python3
from mod_python import apache
def handler(req):
ret = ""
req.content_type = "text/html"
req.write("<h1>Hello World!</h1>")
return apache.OK
5). Наконец,
sudo systemctl reload apache2
Это то, где это начинает становиться неясным для меня, но, возможно, кто-то еще может помочь нам обоим с этим ... Я не уверен, , почему название функции должно быть обработчик, и я не уверен, как получить вещи, которые обычно предоставляет PHP, такие как $_SERVER
переменная.
Но в любом случае, это работает и будет обслуживать файлы Python, используя Apache.