Linux Ubuntu 18.04 лампы PHP и Python CGI - PullRequest
0 голосов
/ 18 ноября 2018

операционная система linux ubuntu 18.04 Теперь я установил лампу и могу без проблем запускать php-коды. каталог, в котором я работаю / var / www / html. но я хочу запустить Python CGI. Я просмотрел несколько источников, но мне это не удалось.

1 Ответ

0 голосов
/ 05 декабря 2018

У меня был некоторый успех со следующим:

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.

...