Я пытаюсь выполнить программу Python с помощью Apache. Однако Apache будет только обслуживать файл, но не выполнять его. Права доступа к файлу - r / w / x, он находится в / var / www
. Я отправлю содержимое httpd.conf
и программный код после него. Я также пытался запустить скрипт python как файл .cgi
, но это тоже не сработало. У меня также загружены в apache модули mod_python
и mod_wsgi
.
Пример Python:
#!/usr/bin/python
# enable debugging
import cgitb
cgitb.enable()
print "Content-Type: text/plain\r\n\r\n"
print
print "Hello World!"
httpd.conf:
AddHandler cgi-script .cgi .pl
AddHandler python-program .py
Я знаю, что это небольшой файл httpd.conf, но когда я установил apache, в нем ничего не было. Я также должен упомянуть, что это просто для того, чтобы я изучил основы запуска python в apache. Он не предназначен для производства.Спасибо за помощь!
Я использую ОС Ubuntu 10.04, а версия apache - 2. У меня установлен python версии 2.6, который автоматически используется, когда #! / Usr / bin / env python
вызван.
Я получаю две основные ошибки: первая заключается в том, что файл не найден, хотя права доступа к файлу и папке равны 777. Ошибка из журнала:
[Sun Feb 05 13:29:44 2012] [error] [client 192.168.1.3] File does not exist: /var/www/poit-0.1
Эта ошибка относится к другому сценарию Python, который я не делал. написать. Что странно, так это то, что файл отображается в индексе папки при доступе из окна браузера. Однако когда я перехожу к файлу, я получаю указанную выше ошибку.
Другая ошибка, которую я получаю, - это преждевременное завершение заголовков. Ошибка ниже:
[Sun Feb 05 12:10:19 2012] [error] (8)Exec format error: exec of '/var/www/pyth.py' failed
[Sun Feb 05 12:10:19 2012] [error] [client 192.168.1.3] Premature end of script headers: pyth.py