Ubuntu init.d使用tomcat失败

Ubuntu init.d使用tomcat失败,ubuntu,tomcat,server,monit,Ubuntu,Tomcat,Server,Monit,我在ubuntu服务器上使用tomcat,我试图使用monit使它始终保持活力。 但我的问题是monit不起作用,因为 /etc/init.d/tomcat start 抛出此错误: touch: cannot touch '/opt/tomcat/latest/logs/catalina.out': Permission denied /opt/tomcat/latest/bin/catalina.sh: 467: /opt/tomcat/latest/bin/catalina.sh: ca

我在ubuntu服务器上使用tomcat,我试图使用monit使它始终保持活力。 但我的问题是monit不起作用,因为

/etc/init.d/tomcat start
抛出此错误:

touch: cannot touch '/opt/tomcat/latest/logs/catalina.out': Permission denied
/opt/tomcat/latest/bin/catalina.sh: 467: /opt/tomcat/latest/bin/catalina.sh: cannot create /opt/tomcat/latest/logs/catalina.out: Permission denied
如果我授予catalina.out 777权限,tomcat将无法工作。但是如果我将权限更改为755,我就不能从init.d开始

我怎样才能解决它

这是我的“monit”代码:


谢谢

默认情况下,Monit以root用户身份执行,但是
权限被拒绝
消息可能表明您的Monit未以root用户身份运行

我看到两种解决办法:

  • 以root用户身份执行Monit
  • 在初始化脚本之前添加一个
    /usr/bin/sudo
    ,如
  • check process tomcat with pidfile "/opt/tomcat/apache-tomcat-9.0.27/temp/tomcat.pid"
          start program = "/etc/init.d/tomcat start"
          stop program = "/etc/init.d/tomcat stop"
          if failed port 8080 for 5 cycles then restart
    
    start program = "/usr/bin/sudo /etc/init.d/tomcat start"