每次将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
?
答案 0 :(得分:1)
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/
您可能希望将undeployOldVersions
和autoDeploy
设置为true,以便tomcat自动部署应用程序并删除旧版本(如果不再需要)。
检查https://tomcat.apache.org/tomcat-7.0-doc/config/host.html以获取有关tomcat配置的更多信息。
##之后的版本必须是字符串可比较的,因此您可以使用例如您的CI系统中的内部版本号,但您可能需要将其填零。
有几点需要注意: