Не удается найти ошибку procfile веб-процесса с Windows Heroku - PullRequest
0 голосов
/ 09 апреля 2020

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

Я на Windows 8.1 и следую официальным инструкциям, которые создали Procfile.windows. Это выглядит так:

web: python app.py runserver 0.0.0.0:5000

Сборка работает, но затем я получаю эту ошибку при запуске heroku ps:scale web=1:

Не удалось найти этот тип процесса (веб) .

Репо здесь .

Официальное руководство работает, так что, безусловно, есть какое-то подтверждение концепции этой работы.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Я установил Waitress и изменил свой Procfile на web: waitress-serve --port=$PORT app:app

Я также удалил расширение. windows, предназначенное для локальной разработки.

Теперь оно отлично работает!

(моим эквивалентом "main.py" был "app.py", поэтому вы, вероятно, измените его для своих нужд на {main.py}:app)

0 голосов
/ 09 апреля 2020

Я на Windows 8.1 и, следуя официальным инструкциям, создал Procfile.windows

Почему вы назвали этот файл Procfile.windows? Документация вполне понятна :

Procfile - это всегда простой текстовый файл с именем Procfile без расширения файла . Например, Procfile.txt недопустимо.

Переименуйте его в Procfile и повторно разверните.

После того, как все заработало, установите сервер WSGI и используйте его вместо manage.py runserver, который не подходит для производственного использования :

НЕ ИСПОЛЬЗУЙТЕ ЭТО СЕРВЕР В НАСТРОЙКЕ ПРОИЗВОДСТВА. Он не прошел аудит безопасности или тесты производительности. (И так оно и будет. Мы занимаемся созданием веб-фреймворков, а не веб-серверов, поэтому улучшение этого сервера для обработки производственной среды выходит за рамки Django.)

Gunicorn, вероятно, самый распространенный выбор, но я не думаю, что он работает на Windows, поэтому вы не сможете использовать его в своей среде разработки. uWSGI или официантка должны работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...