如何在Chef上的Tomcat 7 cookbook上上载WAR文件?

我正在尝试在CHEF上的食谱安装的Tomcat 7上部署War文件。 但是,我无法在任何论坛上找到我的问题的单一答案。 我不知道该怎么做! 我正在使用Ubuntu服务器12.10。 我正在使用的食谱是https://github.com/solarvm/tomcat7-cookbook

简单的方法是使用service资源来停止Tomcat,使用bash资源或文件资源来复制WAR文件,然后使用service资源再次启动Tomcat。

您尝试使用的那本食谱不会进行WAR文件部署。 但我发现这个 – https://github.com/poise/application_java – 可能会起作用。

值得一提的是,我认为你也可以找到更好的Tomcat安装手册。 首先,Opscode Community Cookbooks 网站上有一个可以处理Tomcat 7的“tomcat”配方。

(提示:不要只使用您在Google上找到的第一本食谱。进行Github搜索,并尝试评估烹饪书的function和质量)

你有没有找到$ tomcat / webapps /文件夹?

执行手动热部署和更新的步骤。 避免可能的冲突你应该做一个临时的mywebapp.war.zip文件名技巧。 我多年来一直在linux和windows中使用过。

  • 将myapp.war复制到$ tomcat / webapps / myapp.war.zip文件名。 Tomcat忽略了它。
  • 将myapp.war.zip重命名为myapp.war文件名。 Tomcat找到一个新的Web应用程序。
  • 等几秒钟,你应该找到由tomcat制作的$ tomcat / webapps / myapp / extract文件夹。 war文件已自动提取,现在可用。
  • 浏览到http://localhost:8080/myapp/ URL地址

使用覆盖技巧更新现有Web应用程序。

  • 将myapp.war复制到$ tomcat / webapps / myapp.war.zip文件名
  • 将myapp.war.zip重命名为myapp.war文件名,强制覆盖现有文件名。
  • 等几秒钟,你应该看到更新$ tomcat / webapps / myapp /文件夹的时间戳
  • 浏览到http://localhost:8080/myapp/ URL地址

或使用删除复制技巧更新现有Web应用程序。

  • 将myapp.war复制到$ tomcat / webapps / myapp.war.zip文件名
  • 删除现有的myapp.war文件名
  • 等几秒钟,您应该看到$ tomcat / webapps / myapp /文件夹被删除
  • 将myapp.war.zip重命名为myapp.war文件名
  • 等几秒钟,你应该找到由tomcat制作的$ tomcat / webapps / myapp / extract文件夹。 war文件已自动提取,现在可用。
  • 浏览到http://localhost:8080/myapp/ URL地址

临时war.zip文件名的原因是确保文件在Tomcat触摸之前完全复制到目标文件夹。 将大文件直接复制到.war文件名可能会触发Tomcat读取halfsized文件内容。