我在Microsoft Azure上发布了一个网站,最近我收到以下错误:“指定的CGI应用程序遇到错误,服务器终止了该过程。”
我的应用程序是Java应用程序并使用“最新的Tomcat 7.0”。我尝试了一些修复,但它不起作用(The specified CGI application encountered an error and the server terminated the process)。我的web.config甚至没有这个属性。
从我的日志中我注意到Java应用程序没有记录任何错误,但它会在一段时间后停止运行。当我重新启动服务器时,它正常工作,但一两天后,我开始收到此错误。
之前我遇到过这个问题,但错误只是在一两个月之后出现,现在最近几乎每天都出现。我没有对我的文件或服务器进行任何更改。
知道怎么解决吗?
答案 0 :(得分:3)
Azure网站有一项名为“自动修复”的功能。这仅适用于标准模式,不适用于免费模式或基本模式。
您可以将服务器配置为定期重新启动。这不会解决根本原因,但可能足以让您的应用保持运行。 查看这个github要点,了解如何在web.config文件中对其进行配置
https://gist.github.com/SyntaxC4/0d7185b30acf477c2033#file-web-autoheal-config
自动修复在azure网站备忘单
中进行了描述<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<monitoring>
<triggers>
<!-- Scenario #1: Recycling based on Request Count -->
<requests count="1000" timeInterval="00:10:00"/>
<!-- Scenario #2: Recycling based on slow requests -->
<slowRequests timeTaken="00:00:45" count="20" timeInterval="00:02:00" />
<!-- Scenario #3: Logging an event (or recycling) based on HTTP status code(s) -->
<statusCode>
<add statusCode="500" subStatusCode="100" win32StatusCode="0" count="10" timeInterval="00:00:30"/>
</statusCode>
<!-- Scenario #4: Taking custom actions (or recycling/logging) based on memory limit -->
<memory privateBytesInKB="800000"/>
</triggers>
<!-- Scenario #1 & #2 Action -->
<actions value="Recycle"/>
<!-- Scenario #3 Action -->
<actions value="LogEvent"/>
<!-- Scenario #4 Action -->
<actions value="CustomAction">
<customAction exe="d:\home\procdump.exe" parameters="-accepteula w3wp d:\home\w3wp_PID_%1%_" />
</actions>
</monitoring>
</system.webServer>
</configuration>
答案 1 :(得分:1)
根据我的经验,我认为您可以尝试查看catalina.YYYY-MM-DD.log
和&amp;在{Kudu控制台site.YYYY-MM-DD.log
的{{1}}路径中D:\home\LogFiles\
,以确定原因是什么,例如https://<your webapp name>.scm.azurewebsites.net/DebugConsole
或其他。
您是否可以在日志文件中提供错误信息以分析问题?
我还搜索了下面可能导致错误的一些案例。
超过Azure WebApp Tier限制的内存使用量,如Free Tier 1GB RAM。然后,您可以尝试升级更高级别,如基本或标准层。
对于例外Out of Memory
,您可以尝试在Out of Memory
的{{1}}中为Xms
和Xmx
设置适当的值(httpPlatform部分) ) - 有关httpPlatform配置,请参阅http://azure.microsoft.com/en-us/documentation/articles/web-sites-java-custom-upload/。同时,请调试您的代码是否异常是由不合适的代码逻辑引起的。
希望它有所帮助。最诚挚的问候。
答案 2 :(得分:1)
我们在Web App和Tomcat中遇到了类似的问题。 有时Tomcat需要大约20-30分钟才能唤醒(在应用程序启动,重新启动或重新部署之后)。
在阅读完该主题后,我们审核了我们的配置,发现&#34; 始终开启&#34; “应用程序设置”中的属性位于&#34; 关闭&#34; state,这意味着如果应用程序空闲,Azure可以卸载它。
坦率地说,如果将此属性设置为&#34; On&#34;我还没准备好说。会解决我们的问题。我们刚刚改变了这个设置,我需要几天(一周?)来说明问题是否消失了。
我可以建议:
我希望,它能为您提供一些线索
2017年10月16日更新 &#34;永远在&#34;物业在几个月内对我们有用。 我重新阅读了最初的问题,看起来,作者有同样的问题。