繁体   English   中英

如何在Chef的Tomcat 7食谱上上传WAR文件?

[英]How to upload a WAR file on Tomcat 7 cookbook by Chef?

我正在尝试在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社区食谱网站上有一个可以处理Tomcat 7的“ tomcat”配方。

(提示:不要仅仅使用您在Google上找到的第一本食谱。请进行Github搜索,并尝试评估该食谱的功能和质量)

您是否已经找到$ 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地址

或使用Delete-Copy技巧更新现有的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读取一半大小的文件内容。

在厨师中执行此操作时要记住的一个非常重要的部分是使用警戒条件,不要让厨师在每次运行时都继续部署文件。 上面说明的步骤很好,但是当您在Chef中编写代码时,除非有保护条件,否则它将在每次运行和部署时继续复制文件。

以下面的情况为例,厨师将在每次运行中执行此操作。

# Extract
execute "tar" do
    user "#{tc7user}"
    group "#{tc7group}"
    installation_dir = "#{tc7target}"
    cwd installation_dir
    command "tar zxf /tmp/#{tc7tarball}"
    action :run
end

为了防止厨师从执行每次运行使用creates与正在创建的文件的完整路径的参数性能。 下一次Chef运行将看到该文件已创建,并将跳过该文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM