Подтвердить что ты не робот

Запустить приложение CGI на Python на Heroku

Я сделал простое приложение, которое использует скрипты CGI Python. У меня рабочая локальная версия (отлично работает с lighttpd), но теперь я хочу загрузить ее в Heroku. Приложение состоит из 2 или 3 сценариев, которые делают операции над файлом и выводят информацию обратно в браузер, поэтому я не думаю, что мне нужен какой-либо модуль, отличный от CGI.

Но документация Heroku объясняет, как загружать приложения Python с помощью фантазийных веб-фреймворков, и я не использую их.

Я хочу знать, можно ли запускать CGI-скрипты на Heroku, и если да, то как это сделать.

4b9b3361

Ответ 1

Heroku Cedar сосредоточен вокруг самостоятельных веб-приложений, поэтому вам нужно объединить ваше приложение и запустить его как одну команду.

Я думаю, что самым простым способом было бы переносить ваше приложение в Flask. Это не очень сложно, особенно если это всего лишь 2 или 3 скрипта.

Другой вариант (в зависимости от ваших требований к производительности) - использовать простой Python buildpack. Я думаю, вам нужно связать свои скрипты в каталоге. /cgi -bin и запустить сервер (в procfile) с помощью

 web: bin/python -m CGIHTTPServer $PORT

Самый сложный способ - связать lighttpd и ваши скрипты вместе и написать оболочку script, чтобы начать все. Вам нужно будет убедиться, что ваши скомпилированные двоичные файлы совместимы с Heroku. Я бы посмотрел на PHP buildpack в качестве отправной точки.

Ответ 2

Я поинтересовался поддержкой Heroku о приложении cgi, которое я пытался обслуживать на платформе Heroku, и вот ответ:

Здравствуйте,

К сожалению, мы не поддерживаем приложения в стиле CGI, а только чистые Python. Возможно, вам немного повезло с модулем Python CGIHTTPServer, но если это не подходит вашим потребностям, вам может быть не повезло.