2016-10-03 9 views
0

Это мой первый опыт развертывания веб-приложения Flask для Azure. Я следил за этим tutorial.Развертывание Azure, не устанавливающее пакеты Python, перечисленные в разделе требований. Txt

Демонстрационная по умолчанию приложение они отлично работает для меня.

Потом я толкнул флягу приложение через мерзавец. В журнале показано, что развертывание прошло успешно. Однако, когда я просматриваю размещаемое приложение через ссылку, представленную в «Свойства приложения», я получаю ошибку 500 следующим образом:

страница не может быть отображена, поскольку внутренняя ошибка сервера имеет произошло.

Возможные причины: IIS получил запрос; однако во время обработки запроса возникла внутренняя ошибка . Основная причина Эта ошибка зависит от того, какой модуль обрабатывает запрос, и что было , происходящего в рабочем процессе, когда эта ошибка возникла. IIS не был , который мог получить доступ к файлу web.config для веб-сайта или приложения. Это может произойти, если разрешения NTFS установлены неверно. IIS был не смог обработать конфигурацию для веб-сайта или приложения. У аутентифицированного пользователя нет разрешения на использование этой библиотеки. Запрос сопоставляется с управляемым обработчиком, но .NET Extensibility Функция не установлена.

только вне базы, что я могу видеть, просматривая Wwwroot через KUDU является то, что ни один из пакетов, которые я уже установлены в моей локальной виртуальной среде устанавливаются на Azure, несмотря на существование файла «requirements.txt» в wwwroot.

Я понимаю, что Azure будет пип устанавливать какие-либо несуществующие пакет, который он находит в requirements.txt после GIT успешного толчка. Но, похоже, это не для меня.

Я делаю что-то неправильно, и недостающие пакеты это просто симптом или это может быть причиной проблема?

Примечания:

  • Моя Колба приложение отлично локально (Linux) и на 3-й партии работает VPS

  • Я перераспределены несколько раз, начиная с нуля, но безрезультатно (я использую локальный метод GIT)

  • Я клонировал демонстрационное приложение Azure КОЛБЫ локально, изменил только папку приложения и оттеснил к Azure, но никакого успеха.

  • Azure устанавливается в Python 2.7 же, как мой виртуальный окр локально

  • Как предложено в учебнике связаны выше, я удалил «окр» папку и перераспределены обмануть Azure переустановить виртуальную окр. Это было сделано, но с его собственными пакетами по умолчанию, а не с моими требованиями. Txt.

Мой requirements.txt имеет следующее:

Bcrypt == 3.1.0 cffi == 1.7.0 нажмите == 6,6 Колба == 0,11.1 Flask-Bcrypt == 0.7.1 Flask-Login == 0.3.2 Flask-SQLAlchemy == 2.1 Flask-WTF == 0.12 itsdangerous == 0.24 Jinja2 == 2.8 MarkupSafe == 0.23 pycparser == 2.14 PyMySQL = = 0.7.7 питон-HTTP-клиент == 1.2.3 шесть == 1.10.0 smtpapi == 0.3.1 SQLAlchemy == 1.0.14 Werkzeug == 0.11.10 WTForms == 2,1

+0

У вас есть файл .skipPythonDeployment' в корневой папке приложения? И вы получили сообщение об ошибке во время задачи развертывания? И можете ли вы предоставить свой 'requirements.txt', если это возможно. –

+0

@ GaryLiu-MSFT> Да, в корневом каталоге есть файл .skipPythonDeployment. В нем есть только «привет». В задаче развертывания не было сообщения об ошибке. Он закончился сообщением «развернуто успешно». Наконец, я обновил вопрос с содержимым requirements.txt. – user3522242

ответ

1

Как Azure Web Apps запускает сценарий deploy.cmd в качестве задачи развертывания, чтобы контролировать, какие команды или задачи будут выполняться во время развертывания.

Вы можете использовать команду Azure-CLI azure site deploymentscript --python, чтобы получить сценарий задач развертывания Питон-приложений.

И вы можете найти следующий сценарий в этом deploy.cmd sciprt:

IF NOT EXIST "%DEPLOYMENT_TARGET%\requirements.txt" goto postPython 
IF EXIST "%DEPLOYMENT_TARGET%\.skipPythonDeployment" goto postPython 

echo Detected requirements.txt. You can skip Python specific steps with a .skipPythonDeployment file. 

Так .skipPythonDeployment пропустит все следующие шаги в задаче развертывания, включая создание виртуальной среды.

Вы можете попытаться удалить .skipPythonDeployment из приложения и повторите попытку.

Дополнительную информацию см. На странице https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script.

+0

Я удалил .skipPythonDeployment и начал обрабатывать пакеты. Он потерпел неудачу в bcrypt с его ошибкой «Не удалось найти vcvarsall.bat», но это еще один вопрос, как вы решили мою первоначальную проблему. Большое спасибо Гэри! – user3522242

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

  • Нет связанных вопросов^_^