使用 supervisord 监控管理的进程必须以 nodaemon 启动,而 tomcat 的 startup.sh 脚本是daemon方式的,现在不能用startup.sh形式,所以要用catalina.sh,且在后面加 run。
supervisor tomcat启动配置文件
1 | [program:tomcat_8081] |
stderr_logfile=/usr/local/auto/app1/app1.log
这个错误输出,可以帮助你解决启动错误的问题
1 | supervisorctl reread |
问题解决
upervisor启动Tomcat等JAVA程序,log报错:
1 | Neither the JAVA_HOME nor the JRE_HOME environment variable is defined |
解决方法:
方式一:如果是在docker容器内运行的supervisor和tomcat, 请将JAVA环境变量从/etc/profile 剪切到 ~/.bashrc目录,并source ~/.bashrc
方式二:在/etc/supervisord.conf文件末尾,添加如下行:
1 | environment=JAVA_HOME="/usr/local/jdk",JRE_HOME="/usr/local/jdk/jre" |
重启supervisor服务后,再使用supervisor重启tomcat即可
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2019/08/07/使用supervisor管理Tomcat进程/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!