问题描述 App Service for Linux 资源创建完成后,通过FTP方式把 .jar包(logdemo.jar)包上传到 /site/wwwroot/ 文件夹后,在App Service的Configration 配置页面配置启动命令为: java -jar /site/wwwroot/logdemo.jar 但是,在访问App Service时,却是 Application Error 错误 (503 Service Temporarily Unavailable) 问题解决 第一…
问题描述 参考官方文档部署 PHP Laravel 项目到App Service for Linux环境中,但是访问应用时候遇见了500 Server Error 错误. 从部署的日志中,可以明确看出部署是成功的,那么为什么启动页面不成功呢? 问题分析 Laravel 应用程序生命周期在 public 目录中开始,而不是在应用程序的根目录(wwwroot)中开始.在Azure App Service中,所有项目的默认根目录都是wwwroot. 但是可以使用 .htaccess 来重写所有请求,使…
编写Java Spring Boot应用,通过配置logging.path路径把日志输出在指定的文件夹中. 第一步:通过VS Code创建一个空的Spring Boot项目 第二步:在application.properties中添加输入日志的级别和指定路径 logging.path=mylogs logging.level.root= INFO logging.level.org.springframework.web= INFO logging.level.org.springframewo…
问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的环境. 在App Service for Linux环境中,为PHP提供的运行时当前只有PHP 8.0, 并且 PHP 8.0 中使用的Nginx作为代理服务器.然后请求才会传递到PHP应用中. 基于以上分析,在PHP应用中,会收到Nginx 和PHP双重限制.所以传递文件的限制问题设计到两个方面:…
问题描述 在上篇博文"[Azure 应用服务]App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)"中,实现了通过 HTTP 方式访问部署在Azure App Service For Linux上的Python Flask Web Socket项目, 但是当使用HTTPS访问时候,socket.io所发送的GET请求都能正常. HTTP 成功 HTTPS 失败 但是POST请求全部返回400 Bad Request 那么,如何…
问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linux的环境中如何抓取网络包呢? 抓取Windows的网络包可参考博文:[应用服务 App Service]App Service中抓取网络日志 问题解决 通过SSH方式登录到Linux实例,使用tcpdump的工具抓取网络包, 通过IP地址和端口443来进行过滤,生成的网络包写入到tmp目录下的 ap…
问题描述 使用 python websockets 模块作为Socket的服务端,发布到App Service for Linux环境后,发现Docker Container无法启动.错误消息为: 2021-10-28T02:39:51.812Z INFO - docker run -d -p 1764:8000 --name test_0_c348bc62 -e WEBSITE_SITE_NAME=sockettest -e WEBSITE_AUTH_ENABLED=False -e WEBS…
问题描述 C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application 调查方式 面对C#的黄页错误,最好的做法就是根据提示,关闭C#的自定义错误页面,显示出真正的错误消息.根据提示,在Web.config文件中的system.web节点中添加设置 <customErrors mode="Off"/> 方式有二: 一:进入kud…
在App Service(Windows)中部署Flask应用时的注意事项: ● 添加Python扩展插件,Python 3.6.4 x64: ●● 配置 FastCGI 处理程序,添加Web.config: FastCGI 是在请求级别工作的接口. IIS 接收传入的连接,并将每个请求转发到在一个或多个持久 Python 进程中运行的 WSGI 应用.将应用的 web.config 文件修改为,在 PythonHandler 键中添加 python.exe 和 wfastcgi.py 的完整路…
问题描述 在成功的部署Python flask应用到App Service (Windows)后,如果需要把当前项目(如:hiflask)作为一个子项目(子站点),把web.config文件从wwwroot中移动到项目文件夹中.访问时,确遇见了404 Not Found的错误. 查看flask项目的启动日志,可以看见项目启动已经成功.但是为什么请求一直都是404的问题呢? 2021-09-10 05:29:58.224796: wfastcgi.py will restart when file…
随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑的坑是完全可以解决.这篇博客就是一个真实的客户案例. 客户需求 客户需要在Azure海外region部署自行研发的app后端服务器,这之后客户会向IOS App Store提交App的审核 目前问题 客户在Azure上部署了虚机但是没法分配ipv6的地址,客户还尝试配置IPv6隧道但是也不work.…
https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-app-service-web-java-qa-solve-messy-code-during-sending-chinese-characters-to-third-party-services ----------------------------------------------分割线----------------------…
一般我们写好了应用程序想要部署发布它,要么发布到物理机,要么发布到虚拟机,要么发布到容器来运行它.现在有了Azure应用服务,我们可以完全不用管这些东西,只管写好自己的代码,然后使用VisualStudio的发布功能就可以一键部署了.如果你觉得性能不够用了还可以自动扩容,弹性伸缩. 应用服务概述 Azure 应用服务是一项基于 HTTP 的服务,用于托管 Web 应用程序.REST API 和移动后端 . 可以使用 .NET.NET Core.Java.Ruby.Node.js.PHP 或 Py…
问题描述 如何在一个AppService下同时部署运行多个Java 应用程序呢? 问题解答 因为App Service的默认根目录为 wwwroot.如果需要运行多个Java 应用程序,需要在 wwwroot目录中创建独立文件夹,用于部署 Jar包 和 web.config 文件,特别注意的时:需要在web.config中指定jar包的启动指令. 如正常部署一个jar包,App Service 根目录下的文件结构如下: web.config内容为: <?xml version="1.0&q…
问题描述 使用NodeJS的后端应用,开发一个Mobile App的服务端,手机端通过REST API来访问获取后端数据.在本地编译好后,通过npm start启动项目,访问效果如下: 但是,当把项目文件通过FTP,或者直接VS Code 部署到App Service for windows后,访问首页并不是mobile app的页面,而是默认的App Service页面,访问项目里面的API也是404错误? 问题解决 从访问默认URL和测试API为404的效果来看,这是NodeJS项目并没有启…
问题描述 实现部署NodeJS Express应用在App Service Linux环境中,并且使用Microsoft Authentication  Library(MSAL)来实现登录Azure AD用户,获取Token及用户信息的实现. 终极实现效果展示: 本实现中,最重要的两个步骤为: 1)根据文档" Tutorial: Sign in users and acquire a token for Microsoft Graph in a Node.js & Express we…
欢迎使用 Blazor!Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI. 共享使用 .NET 编写的服务器端和客户端应用逻辑. 将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器. 与新式托管平台(如 Docker)集成. 任务描述 使用VS2019模板创建Blazor项目,添加Dockerfile打包为Linux镜像,最后发布到Azure应用服务, 并查看镜像的发布日志…
测试App Service是否可以访问其他DNS 当应用服务(Azure App Service)创建完成后,想通过ping命令来查看是否可以访问其他站点或解析DNS,但是发现ping命令无法使用.这是因为App Service存在安全约束,因此无法通过控制台运行 ping.nslookup 和 tracert 工具 .为了测试DNS功能和测试主机TCP的连接问题,App Service 提供了两个命令 nameresolver.exe 用于测试 DNS 功能,命令格式为:nameresolve…
问题描述 Azure App Service在部署的时候支持多种方式,如Zip,VS 2019, VS Code,或者是Git部署,当使用Git部署遇见500错误时,可以通过其他的部署方式来验证是否也同样不可以成功.也可以直接登录到Kudu站点,拖拽文件的方式部署站点. 如以下图片就是在使用Git部署时候遇见的错误: 由于这里的错误信息只是返回500,而没有跟多详细的错误日志,所以可以通过 git log -p 命令打印出全部日志.查看是否有可以定位错误的信息,在这次的500错误中,git 日志…
问题描述 在Azure App Service上部署了站点,想要在网站的响应头中加一个字段(Cache-Control),并设置为固定值(Cache-Control:no-store) 效果类似于本地IIS中设置IIS响应标头 有时,也会根据不同的安全要求,需要添加Response Header,如下: #Adding security headers X-Frame-Options "SAMEORIGIN" X-Xss-Protection "1; mode=block&q…
问题描述 在App Service中运行Python编写的定时任务,需要使用pymssql连接到数据库,但是发现使用 python.exe -m pip install --upgrade -r requirements.txt -t D:\home\site\wwwroot\pymodules.requirements.txt中包含pymssql库.安装时候出现错误消息: Failed to build pymssql. 问题答案 因为App Service上无法直接编译Python Pack…
标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Service, 每次都要从零开始搭建从Azure DevOps向Azure App Service发布代码的环境,由于步骤比较繁琐,每次都会忘记其中几个步骤,所以在此总结一下,已备后续再次使用. Azure DevOps和Azure App Service Azure DevOps Azure DevOps…
在 Windows 10 中微软为 UWP 引入了 App Service (即应用服务)这一新特性用以提供应用间交互功能.提供 App Service 的应用能够接收来自其它应用传入的参数进行处理后返回数据. 创建应用服务 要使应用支持提供 App Service 非常简单.只需正确配置应用的清单文件后添加服务相关的代码即可. 配置应用清单文件 打开项目中的 Package.appxmanifest 文件. 切换到 Declarations 选项卡. 在左侧 Available Declara…
本文介绍了几个技巧,这些技巧可以改善Azure App Service托管应用程序的性能.其中一些技巧是你现在就可以进行的配置变更, 而其他技巧则可能需要对应用程序进行一些重新设计和重构. 开发者都希望从部署在Azure的App Services中压榨出最佳性能.更好的性能不仅能够获得更佳的响应体验:而且如果我们在Azure中能“四两拨千斤”,那么性能的提升还可以为我们省钱.在本文中,我们将研究提高Azure App Services中运行的Web程序性能的设置和策略. 下面几个性能提升意见在…
上次我们介绍了如何使用Azure应用服务(不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序).我们通过Visual studio新建一个项目后手动编译发布代码.然后通过FTP上传我们的发布文件.整个过程跟我们手动发布项目到IIS上其实没啥差别. 这么操作有点繁琐,显然在这年头也有点过时了.这次我们来玩一下azure应用比较高级的持续部署.说高级其实也很简单,Azure现在跟github有比较深入的集成,只有通过鼠标点几下,立马就完成了. 话不多说,下面就演示下吧.…
问题情形 本地NodeJS应用使用Egg脚手架构建,本地运行测试完全没有问题,发布后App Service后不能运行.通过登录到kudu后(https://<your web site>.scm.chinacloudsites.cn)后,在日志中发现找不到一个文件或路径的错误.通过在kudu的CMD窗口执行npm start命令,发现错误是一致,怀疑是对Egg中某个框架的不支持. 详细日志 Application has thrown an uncaught exception and is…
问题描述 Azure Function HTTP 触发后, 230秒就超时,而其他方式触发的Function, 执行5分钟后也超时,如何调整超时时间? 问题分析 查阅官方文档,对函数应用超时持续时间有详细介绍:最新的3.X版本的默认值根据Function计划的类型不同而不同,默认的最少为5分钟,最大30分钟.消耗计划的Function最大可调整为10分钟,而其他两种无限制. 但是,非常非常重要的一点是:如果Function是HTTP触发类型.它的响应时间最大最大就是230秒. 这是因为 Azur…
the selected server is enabled,but is not configured properly.deployment to it will not be permitted until the problem is corrected.please navigate to the server preference pages and verify the field with the prompt:tomcat jdk name: 翻译:选定的服务器已启用,但是配置…
问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过Git发布静态文件的时候不成功.出现"Could not detect any platform in the source directory." 和 "Error: Couldn't detect a version for the platform 'php' in the…
问题描述 当创建一个App Service 后,运行时环境和版本选择Windows 和 Python 3.6. 登录Kudu 站点查看,默认的文件有 web.config, hostingstart-python.py, hostingstart-python.html,  在配置文件中,通过pythonpath来指定启动目录,而 WSGI_HANDLER 则指定启动的py文件为 hostingstart-python.py. web.config <configuration> <ap…