2012-03-01 2 views
0

Я установил сервер lighthhtpd для выполнения файлов php и python ... но когда я запустил .py-файл, он всплывает окна загрузки в этот файл.Доступ к файлам python от lighhttpd

Вот что я поместил в конф файле CGI

cgi.assign     = (".py" => "/usr/bin/python2.6", 
          ".php" => "/usr/bin/php-cgi") 

Любой знает, как это исправить, чтобы иметь питона файлы работать на lighthttpd?

Спасибо.

+0

Я долгое время не использовал lighttpd, но думаю, что подозреваемый, вероятно, будет неправильным мета-типом, который не может быть истолкован так, чтобы он был загружен. Это должно быть 'text/html' как для html и php - но не спрашивайте меня, как это сделать ... Я бродил по nginx. – Paul

+0

У ваших .py-файлов есть разрешения на выполнение для процесса lighthhtpd? – SpliFF

+0

Да, у них есть разрешения – dyoser

ответ

1

Попробуйте помещать ваши .py файлы в каталог cgi-bin и запускать их оттуда. Если я правильно помню по умолчанию, конфигурация lighttpd разрешает только cgi-скрипты в каталогах cgi-bin. Пожалуйста, напишите весь ваш cgi.conf, если это возможно.

Если это работает, найдите фрагмент, который выглядит как $HTTP["url"] =~ "^/cgi-bin" { (...) }, и удалите окружающий матч-блок.

Когда вы загружаете файл прямо сейчас, что внутри? Является ли это реальным источником сценария Python или ожидаемым результатом выполнения в тексте? Я предполагаю, что это раньше, если не прояснить.

+0

Да, lighttpd работает в cgi dir ... и cgi.conf не имеет больше специальных строк, чем указано выше. Благодарю. – dyoser

1

Спасибо за комментарии и ответы ... решение было вставить в первой строке следующую команду:

print ("Content-Type: text/plain;charset=utf-8 \n") 

Я использую Python 3.1 с учетом ... и когда я установить первую строку в скрипт распечатал его правильно.

+0

это работает для меня. хотя я клянусь, что раньше я работал над python/lighttpd, не делая этого. – LoveMeSomeCode

Смежные вопросы