init.d 失败 tomcat
init.d fails with tomcat
我在 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
如果我将权限 777 授予 catalina.out,tomcat 将不起作用。但是,如果我将权限更改为 755,我将无法从 init.d
开始
我该如何解决?
这是我的 "monit" 代码:
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
谢谢
默认情况下,Monit 以 root 身份执行,但 Permission denied
消息可能表明您的 Monit 不是 运行 root。
我看到两个解决方案:
- 以 root 身份执行 Monit
- 在你的初始化脚本之前添加一个
/usr/bin/sudo
,比如
start program = "/usr/bin/sudo /etc/init.d/tomcat start"
我在 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
如果我将权限 777 授予 catalina.out,tomcat 将不起作用。但是,如果我将权限更改为 755,我将无法从 init.d
开始我该如何解决?
这是我的 "monit" 代码:
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
谢谢
默认情况下,Monit 以 root 身份执行,但 Permission denied
消息可能表明您的 Monit 不是 运行 root。
我看到两个解决方案:
- 以 root 身份执行 Monit
- 在你的初始化脚本之前添加一个
/usr/bin/sudo
,比如
start program = "/usr/bin/sudo /etc/init.d/tomcat start"