Я пытаюсь выполнить программу Python с помощью Apache. Однако Apache будет обслуживать только файл, а не выполнять его. Разрешения для файла - r/w/x, и он находится в /var/www
. После публикации содержимого httpd.conf
и программного кода. Я также попытался запустить python script как файл .cgi
, но это не сработало. У меня есть оба модуля mod_python
и mod_wsgi
, загруженные в apache.
Пример 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
Эта ошибка для другого питона script, который я не писал. Странно, что файл отображается в индексе папки при доступе из окна браузера. Однако, когда я перехожу к файлу, я получаю вышеуказанную ошибку.
Другая ошибка, которую я получаю, - это преждевременный конец заголовков. Ошибка ниже:
[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