我在centos6工作。 我已经安装了tomcat6。 在第一个工作正常。 但重启服务器tomcat6后无法正常工作。
当我执行这个命令行:“ service tomcat6 status ”我得到:“ PID文件存在,但进程没有运行[ÉCHOUÉ] ”我检查了日志文件“catalina.out”,我得到这个错误:
GRAVE:StandardServer.await:create [8005]:
java.net.BindException: Cannot assign requested address at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(Unknown Source) at java.net.ServerSocket.bind(Unknown Source) at java.net.ServerSocket.<init>(Unknown Source) at org.apache.catalina.core.StandardServer.await(StandardServer.java:373) at org.apache.catalina.startup.Catalina.await(Catalina.java:657) at org.apache.catalina.startup.Catalina.start(Catalina.java:617) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
在此先感谢您的帮助
如果Tomcat的启动脚本是在正确设置CATALINA_PID环境变量的情况下运行的,那么Tomcat进程的PID将在启动时记录到文件中。 如果该文件在您尝试启动Tomcat时存在,则脚本将拒绝运行,因为它不想打开(可能是有效的)PID文件。
如果您确定Tomcat未运行,只需删除该文件(应通过CATALINA_PID环境变量提供),然后重试。
如果你想要一个自我重新启动的服务,考虑看jsvc ,它实际上与源代码形式的Tomcat二进制文件一起提供。
你运行的是哪个端口? 端口80或8080? 任何其他服务在同一端口上运行? 你检查了吗? 你可以使用它的进程ID来杀死tomcat
ps -ax | grep tomcat kill -9 <PID>
如果你确定tomcat是你正在运行的唯一的java应用程序,那么你可以使用它,
killall -9 java
当你重新启动它时,用尾巴观察catelina.out。
像这样,取决于你的安装方法/路径:
tail -f /usr/share/apache-tomcat-6.0.37/logs/catalina.out
另外检查你的init脚本或setenv.sh你配置这个PID文件的地方。 我从来没有用过它。