Маршруты фляги Лазурного Не найдены - PullRequest
0 голосов
/ 02 июля 2018

Я использую Visual Studio для создания пустого приложения Flask. Когда я запускаю приложение локально, я получаю ожидаемый «привет мир». Когда я публикую в службе приложений Azure, я получаю эту красивую уродливую голубую домашнюю страницу, которую я не сделал. Нет, где в моем проекте этот код существует, по крайней мере, я вижу в обозревателе решений Visual Studio. Если я пытаюсь наговорить на <my account name>.azurewebsites.net/test, я получаю ошибку 404 Любое предложение?

enter image description here

app.py:

from flask import Flask
app = Flask(__name__)

# Make the WSGI interface available at the top level so wfastcgi can get it.
wsgi_app = app.wsgi_app

@app.route('/test')
@app.route('/')
def hello():
    """Renders a sample page."""
    return "Hello World!"

if __name__ == '__main__':
    import os
    HOST = os.environ.get('SERVER_HOST', 'localhost')
    try:
        PORT = int(os.environ.get('SERVER_PORT', '5555'))
    except ValueError:
        PORT = 5555
    app.run(HOST, PORT)

web deploy.pubxml:

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <ResourceId>/subscriptions/78439574-998e-4216-b54c-40fa45d65ca5/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Web/sites/FlaskWebProject220180702122411</ResourceId>
    <ResourceGroup>Default-SQL-EastUS</ResourceGroup>
    <PublishProvider>AzureWebSite</PublishProvider>
    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish>http://flaskwebproject220180702122411.azurewebsites.net</SiteUrlToLaunchAfterPublish>
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <MSDeployServiceURL>flaskwebproject220180702122411.scm.azurewebsites.net:443</MSDeployServiceURL>
    <DeployIisAppPath>FlaskWebProject220180702122411</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
    <EnableMSDeployBackup>True</EnableMSDeployBackup>
    <UserName>$FlaskWebProject220180702122411</UserName>
    <_SavePWD>True</_SavePWD>
    <_DestinationType>AzureWebSite</_DestinationType>
  </PropertyGroup>
</Project>

UPDATE:

Я следовал инструкциям Джея. Теперь я получаю сообщение «Невозможно отобразить страницу, поскольку произошла внутренняя ошибка сервера» Я добавил файл журнала в настройках приложения, однако он не отображается.

enter image description here

enter image description here

ОБНОВЛЕНИЕ 2

Я заметил, что в моем из web.config версии были другими, поэтому я обновил его. это позволило создать файл logs.txt.

  <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python364x64\python.exe|D:\home\Python364x64\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>

Я все еще получаю ошибку 500.

logs.txt: enter image description here

1 Ответ

0 голосов
/ 03 июля 2018

Пожалуйста, обратитесь к моим рабочим шагам и посмотрите, появляется ли ошибка.

Шаг 1. Создание веб-приложения Azure и добавление расширений (здесь Python 3.6.1 x64)

enter image description here

Шаг 2. Опубликуйте свой проект flask и добавьте web.config.

web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="<Your Project Name>.app"/>
    <add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
    <add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
  </appSettings>
  <system.webServer>
    <handlers>
      <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python361x64\python.exe|D:\home\Python361x64\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
  </system.webServer>
</configuration>

При успешном развертывании вы можете увидеть следующую структуру в пути KUDU: D:\home\site\wwwroot>.

enter image description here

Если вы хотите использовать дополнительный пакет Python, пожалуйста, продолжайте.

Шаг 3: Переключитесь на CMD Kudu и введите команды cd Python361x64 и touch get-pip.py и скопируйте содержимое URL https://bootstrap.pypa.io/get-pip.py в get-pip.py с помощью кнопки Редактировать, затем запустите python get-pip.py, чтобы установить инструмент pip.

enter image description here

Шаг 4: Установите все необходимые пакеты через python -m pip install pyodbc

enter image description here

Надеюсь, это поможет вам. Любое беспокойство, пожалуйста, дайте мне знать.


Обновление

В моих шагах скопируйте содержимое в https://bootstrap.pypa.io/get-pip.py для установки pip. Он может определить версию Python системы, установить соответствующий пакет Python.

enter image description here

Итак, вам просто нужно запустить команду python -m pip install newspaper3k для установки newspaper3k.

enter image description here

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