问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这样的情形是,有效的排查办法就是在问题重现的时候抓取DUMP文件,可以通过DUMP文件分析出是否有线程死锁,或查看时那些请求导致的死锁问题.也可以定位到相关的自定义代码类文件.非常助于下一步的查找问题. 抓取DUMP文件 1) 利用App Service自带Kudu的工具获取DUMP文件 登录进当前应…
问题描述 在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在部署的时候支持多种方式,如Zip,VS 2019, VS Code,或者是Git部署,当使用Git部署遇见500错误时,可以通过其他的部署方式来验证是否也同样不可以成功.也可以直接登录到Kudu站点,拖拽文件的方式部署站点. 如以下图片就是在使用Git部署时候遇见的错误: 由于这里的错误信息只是返回500,而没有跟多详细的错误日志,所以可以通过 git log -p 命令打印出全部日志.查看是否有可以定位错误的信息,在这次的500错误中,git 日志…
测试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是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所以当遇见一些实例级的问题时,可谓一点办法也没有. 这时,一些Azure提供的排查工具就非常有用,如在App Service for Windows的情况下,我们可以通过Kudu工具进行文件管理,如下载日志,修改web.config配置,运行抓取DUMP的命令(或查看进行直接抓取DUMP,详见:([应…
问题描述 如何在一个AppService下同时部署运行多个Java 应用程序呢? 问题解答 因为App Service的默认根目录为 wwwroot.如果需要运行多个Java 应用程序,需要在 wwwroot目录中创建独立文件夹,用于部署 Jar包 和 web.config 文件,特别注意的时:需要在web.config中指定jar包的启动指令. 如正常部署一个jar包,App Service 根目录下的文件结构如下: web.config内容为: <?xml version="1.0&q…
问题情形 有时候部署在 Azure  App Service的 Java应用会出现乱码 详细日志 无 问题原因 因为 App Service默认的编码为gbk,所以在显示页面或传递中文字符时就会出现乱码. 解决方案 部署在App Service的Java应用,都会在site/wwwroot 文件夹下创建 web.config 文件.需要在environmentVariable中添加-Dfile.encoding=UTF-8. <configuration> <system.webServ…
问题描述 中国区的Azure App Service(应用服务)已经支持创建Docker并选择Linux环境.在使用中,我们可以继续通过kudu站点的方式登录查看站点的一些日志及部署文件.它的登录方式与App Service Windows方式一样(通过门户目录的Advance Tool登录,或在URL中添加.SCM登录).如想要跟多的操作及Linux SSH方式,在微软的官方站点中,推荐有两种登录方式: 在浏览器中打开 SSH 会话 从远程 shell 打开 SSH 会话(https://do…
问题描述 Azure App Service (应用服务)如何安装PHP的扩展 mcrypt(mcrypt 是php里面重要的加密支持扩展库) 准备条件 创建App Service, Runtime stack 选择为PHP,如图 下载mcrypt插件,mcrypt 1.0.3 for Windows, 注意选择的版本需要与App Service中PHP的版本一致.如PHP 7.2  -- 7.2 Non Thread Safe (NTS) x86 注:选择Non Thread的原因是因为App…
问题描述 在Azure App Service中,有对.Net,Java的WebSocket支持的示例代码,但是没有成功的PHP代码. 以下的步骤则是如何基于Azure App Service实现PHP版的websocket. 实现步骤 参考PHP代码链接:(GitHub:https://github.com/ghedipunk/PHP-Websockets, 本地博客园:https://www.cnblogs.com/lulight/articles/13787309.html).但由于这一示…