小编典典

sh startup.sh使用人偶模块启动tomcat

tomcat

我正在尝试创建一个安装了tomcat的人偶模块。我完成了所有其他工作,该模块下载了Tomcat
tar,将其解压缩,删除了软件包并从模板更改了设置文件。我唯一的问题是不会自动启动tomcat。如何将其设置为执行“ sudo sh
startup.sh”?

我尝试使用命令=>“ sudo sh
startup.sh”,但是我认为问题是它不能使用sudo。有没有一种方法可以绕过该方法或其他解决方案来启动tomcat?


阅读 328

收藏
2020-06-16

共1个答案

小编典典

我建议您安装服务脚本,而不是声明执行文件以启动应用程序服务器。
这样,您可以依赖service资源类型的功能,该功能将帮助您检查服务的状态并确保它是预期的。
您可以在此处找到一个示例脚本,该脚本可以放在templates/模块目录中。tomcat.erb

基本上,你会做什么,然后是声明fileexecservice资源三重如下(例如基于红帽的操作系统,类似的适用于Debian /
Ubuntu的除了chkconfig部分):

file { '/etc/init.d/tomcat':
  ensure => present,
  content => template('tomcat/tomcat.erb'),
  mode   => 'u=rwx,og=rw',
  user   => 'root',
  group  => 'root',
  notify  => Exec['add_tomcat_service'],
}

exec {'add_tomcat_service':
  command   => '/sbin/chkconfig --add tomcat',
  path      => ['/bin', '/sbin', '/usr/bin', '/usr/sbin'],
  onlyif    =>  "test `/sbin/chkconfig --list | /bin/grep tomcat | /usr/bin/wc -l` -eq 0",
  before    => Service['tomcat'],
}

service { 'tomcat':
  ensure  => started,
  hasstatus => true,
  hasrestart => true,
}
2020-06-16