/etc/init.d/tomcat不存在,monit不起作用

时间:2019-10-31 15:37:41

标签: ubuntu tomcat monit

我正在尝试在Ubuntu中使用tomcat构建monit,但是我有两个问题。

我找不到pid文件,并且“ /etc/init.d/tomcat”不存在

我该怎么办?

这是我在monit中的代码:

check process tomcat with pidfile "/var/run/tomcat/tomcat.pid"
  start program = "/usr/local/tomcat/bin/startup.sh" as uid tomcat gid tomcat
  stop program = "/usr/local/tomcat/bin/shutdown.sh" as uid tomcat gid tomcat
  if failed port 8080 then alert
  if failed port 8080 for 5 cycles then restart

谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 无论配置如何,Tomcat似乎都不创建pidfile。有关如何说服Tomcat创建一个的提示,请参见this gist
  2. 如果您使用的是Ubuntu> = 15.04,则应该存在systemd(请参阅this wiki entry)。因此,开始/停止应为systemctl start tomcatsystemctl stop tomcat(或tomcat.service)。

如果您无法让Tomcat创建一个pidfile,也可以使用matching代替pidfile(但我总是建议您使用pidfile!)。

其余似乎还可以,但有一些限制:如果您开始使用systemctl来启动/停止服务,则需要具有超级用户权限。您将忽略as uid tomcat gid tomcat的{​​{1}}部分。


edit 2019-11-02,14:00 UTC

我的配置如下:

start/stop program