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

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

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

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

2 ответов


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

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

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

 web: bin/python -m CGIHTTPServer $PORT

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


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

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

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