簡體   English   中英

使用tomcat部署期間避免臨時404錯誤

[英]Avoid temporary 404 errors during deployment with tomcat

每次我將OpenGrok/dist/source.war復制到/var/tomcat/webapps/ ,tomcat會在復制后的幾秒鍾內為我的用戶生成包含404 Not Found錯誤的空白錯誤頁面。

HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
Content-Length: 0
Date: Tue, 02 Apr 2013 19:00:14 GMT
Connection: close

這是不可接受的。 我沒有正確部署,手動將.war文件復制到tomcat目錄中,還是某種OpenGrok錯誤? 如何確保在部署過程中沒有一個訪問者獲得過度的404

Tomcat 7具有稱為並行部署的功能。 使用此功能,可以在相同的上下文路徑下運行應用程序的多個實例。

這篇博文很好地解釋了它: http//www.javacodegeeks.com/2011/06/zero-downtime-deployment-and-rollback.html

總結一下,當您將戰爭添加到appBase時,需要手動對其進行版本控制。

cp foo##001.war apache-tomcat-7/webapps/
cp foo##002.war apache-tomcat-7/webapps/

您可能希望將undeployOldVersionsautoDeploy設置為true,以便tomcat自動部署應用程序並刪除舊版本(如果不再需要)。 有關tomcat配置的更多信息,請訪問https://tomcat.apache.org/tomcat-7.0-doc/config/host.html

##之后的版本必須是字符串可比較的,因此您可以使用例如CI系統中的內部版本編號,但您可能必須將其填零。

有幾點需要注意:

  • 外部資源需要是可共享的,如果您使用的是數據庫,但是新版本需要新的模式,您將遇到問題。 或者,如果您在特定端口上打開TCP偵聽器,則它也不可共享。
  • 緩存,如果您的應用程序使用內部緩存,則應該直接寫入並快速過期
  • 該應用必須是可取消部署的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM