Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将简单的VS2017 Django应用程序部署到Azure-服务器错误_Django_Azure_Azure Web App Service - Fatal编程技术网

将简单的VS2017 Django应用程序部署到Azure-服务器错误

将简单的VS2017 Django应用程序部署到Azure-服务器错误,django,azure,azure-web-app-service,Django,Azure,Azure Web App Service,我一直在尝试使用VS2017预览版(包括用于Visual Studio的Python工具)创建Django web应用程序,并将生成的应用程序部署到Azure(我目前正在30天的试用期内评估Azure) 我已经做了以下工作: 启动VS2017,使用“Django Web project”模板创建一个新项目。这将创建一个带有引导模板的Django网页-简单,并且所有内容都在本地运行良好 在VS中,转到Connected Services=>Publish,选择“Microsoft Azure应用

我一直在尝试使用VS2017预览版(包括用于Visual Studio的Python工具)创建Django web应用程序,并将生成的应用程序部署到Azure(我目前正在30天的试用期内评估Azure)

我已经做了以下工作:

  • 启动VS2017,使用“Django Web project”模板创建一个新项目。这将创建一个带有引导模板的Django网页-简单,并且所有内容都在本地运行良好

  • 在VS中,转到Connected Services=>Publish,选择“Microsoft Azure应用程序服务”,创建新的应用程序服务和应用程序计划。实例已成功创建

  • 单击“发布”通过VS WebDeploy发布。控制台中的一切看起来都很好,最后显示
    Publish:1成功,0失败,0跳过

这将导致显示标准的Azure欢迎开始页面
hostingstart.html
,而不是Django页面。删除html文件后,只有一个
页面无法显示,因为发生了内部服务器错误。
。我尝试过各种方法:访问portal.azure.com“应用程序设置”,将Python版本从“Off”设置为“3.4”(事实上,我想要3.5,微软的一个教程使用它,但现在任何一个都可以),然后只显示了一个
hostingstart Python.html
,仍然没有Django。我尝试过在VS中通过“Add=>New Item=>Azure web.config(FastCGI)”添加默认的web.config。我尝试过使用各种值
WSGI\u HANDLER
(例如
django.core.handlers.WSGI.WSGIHandler()
)和
django\u设置模块
(例如
mydjangopage.SETTINGS
)编辑该web.config,我尝试过添加“wfastcgi”到requirements.txt等,总是只得到一个服务器错误


我已经尝试了几个小时了,我已经阅读了来自微软、他们的博客和网络的每一个可能的部署帮助页面。所有的信息似乎都过时了,缺少一些信息,或者根本不起作用。在这一点上,我很失望,准备放弃。这不是很简单吗?在VS中创建一个新项目,点击“发布”,它应该可以工作吗?(绝对不是,我从零开始重新启动了多次,尝试了很多东西。)

我也遇到了同样的问题。我的解决办法如下:

通过azure门户创建Django Web应用程序:

  • 转到azure并点击左上角的“加号”以添加资源
  • 开启“网络与移动”
  • 单击“全部显示”
  • 在搜索字段中键入“Django”
  • 选择下图中标记的资源,并按照说明创建资源
  • 在新创建的资源上部署

  • 转到Visual Studio并启动部署
  • 选择刚为部署创建的azure资源,而不是从VS中创建新的azure资源
  • 等一下

  • 大约需要3分钟才能看到您的部署。在此之前,您将得到一个默认屏幕,它看起来与您已知的屏幕略有不同
  • 之后,您将看到正确的django页面
    我也有同样的问题。我的解决办法如下:

    通过azure门户创建Django Web应用程序:

  • 转到azure并点击左上角的“加号”以添加资源
  • 开启“网络与移动”
  • 单击“全部显示”
  • 在搜索字段中键入“Django”
  • 选择下图中标记的资源,并按照说明创建资源
  • 在新创建的资源上部署

  • 转到Visual Studio并启动部署
  • 选择刚为部署创建的azure资源,而不是从VS中创建新的azure资源
  • 等一下

  • 大约需要3分钟才能看到您的部署。在此之前,您将得到一个默认屏幕,它看起来与您已知的屏幕略有不同
  • 之后,您将看到正确的django页面
    目前,VS 2017的发布支持处于一个过渡期。在接下来的几次更新中,我们希望将其返回到一个一键式系统(在此过程中,可以从任何地方发布Python应用程序,而不仅仅是在VS中),但目前有几个手动步骤

    (我将在下面总结这些步骤,但规范文档将在-现在是一篇包含这些步骤和一些背景故事的博客文章)

  • 创建新站点后(通过门户或VS发布内容也可以),安装一个Python

  • 配置
    web.config
    文件,使其具有安装在
    scriptProcessor
    属性中的站点扩展的正确路径(类似于
    D:\home\python361x64\python.exe
    -查看每个扩展的实际路径描述-VS 2017还包括项目模板以帮助设置这些,因此查看添加新项目以了解想法)

  • 根据需要更新
    WSGI_处理程序
    DJANGO_设置_模块
    变量(DJANGO应用程序的
    WSGI_处理程序
    的典型值为
    myapp.WSGI.application
    ,假设项目中有
    WSGI.py
    文件)

  • 通过VS发布您的站点

  • 使用安装包-例如
    D:\home\python361x64\python.exe-m pip install-r requirements.txt

  • 如果事情已经在运行,此时您可能需要重新启动站点,但一般来说,您现在可以通过VS快速发布,而无需重新安装Python或任何软件包

    如果您使用JSON模板通过ARM部署站点,还可以在那里指定站点扩展:(从)


    目前,VS 2017的发布支持有点困难
    "resources": [
      {
        "apiVersion": "2015-08-01",
        "name": "[parameters('siteName')]",
        "type": "Microsoft.Web/sites",
        ...
        "resources": [
          {
            "apiVersion": "2015-08-01",
            "name": "python352x64",
            "type": "siteextensions",
            "properties": { },
            "dependsOn": [
              "[resourceId('Microsoft.Web/sites', parameters('siteName'))]"
            ]
          },
        ...