我正在使用foreman export upstart /etc/init来设置一个tomcat应用程序服务器,以便在Ubuntu中监视和维护可用性。
但是,我还是需要一些build议:
1)启动我的实例与sudo service tomcat start …如果我试图杀死进程使用kill <pid> …我可以看到它立即respawned由Upstart实用程序…但它太快了! 所需的端口尚未发布。 什么是解决这个问题的解决方法?
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-nio-8443"] 8 java.net.BindException: Address already in use 9 at sun.nio.ch.Net.bind0(Native Method) 43 Caused by: java.net.BindException: Address already in use 44 at sun.nio.ch.Net.bind0(Native Method)
2)我使用initctl list | grep tomcat initctl list | grep tomcat找出pid (在这种情况下是3518)并杀死进程:
工头不能启动Nginx,但我可以手动启动它。 为什么?
在窗户上安装Heroku toolbelt的工头无法find
Node.js:Foreman + Windows上的nodemon行为
来自领class的“No Processes Defined”检查一个简单的node.js procfile
$ initctl list | grep tomcat tomcat start/running tomcat-web-1 start/running,process 3518 tomcat-web start/running
查杀tomcat-web-1实际上是不正确的方式来testingUpstart的重生能力吗?
3)另一个挑战是,如果我这样做一两次,我很快就会遇到记忆问题:
376 Error occurred during initialization of VM 377 Could not reserve enough space for object heap
4)最后默认脚本似乎只处理退出条件错误的respawn。 但是一台机器重新启动并不算是其中的一个,那么应该如何增强foreman export upstart /etc/init处理这种情况呢?
我想知道是否有其他人遇到类似的挑战,并且/或者有解决方法吗?
更新#1(2013年3月4日):
为了完成(4),我只需要编辑appname.conf文件的start on语句来包含start on (... OR runlevel [2345])
在第二步中,列出的所有三个结果实际上都是unix进程。 没有一个是tomcat的java web服务器。 所以你正在杀死其中一个进程,它可以帮助你监视实际的tomcat / java进程,当它恢复时,它会尝试再次启动tomcat。 运行tomcat的端口从来没有被释放,内存仍在使用,因为你从来没有关闭原来的tomcat! 因此你会遇到(1)和(3)。
识别java进程的更好/更简单的方法是查看它的实用程序,如系统监视器。 您将看到名为“java”的进程,进程ID将在那里列出。 现在发行一个杀死该pid,这将演示给你,领班+暴发重生工作得很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。