記一次公司新服務器Ubuntu16.04.6初始化配置 (四) tomcat8.5.41使用shutdown.sh或者catalina.sh stop停止不了問題

錯誤原文:
cat: ./: Is a directory Using CATALINA_BASE: /usr/local/apache-tomcat-8.5.41 Using CATALINA_HOME: /usr/local/apache-tomcat-8.5.41 Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.5.41/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/apache-tomcat-8.5.41/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.41/bin/tomcat-juli.jar Using CATALINA_PID: ./ $CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted.
CATALINA_PID變量設置了但是不存在,這個問題也是老問題,之前遇到並解決過,但是沒有記錄,這裏做下記錄。
解決方法:
1 在tomcat的bin目錄下創建CATALINA_PID文件,隨意添加一個PID(這個PID下次重啓tomcat時會被重寫)
cd /usr/local/apache-tomcat-8.5.41/bin
vim CATALINA_PID 輸入3210(隨意數字,代表PID),然後wd保存退出
2 編輯 catalina.sh文件,添加配置CATALINA_PID路徑 如圖
在這裏插入圖片描述
由於我使用的是openjdk8 沒手動配置JAVA_HOME,所以要在這裏指定一下JAVA_HOME,catalina.sh文件內很多都用到了這個配置,需要配置上。

3 編輯 catalina.sh文件 添加重寫CATALINA_PID文件的配置
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/$CATALINA_PID
cat $CATALINA_PID
fi
在這裏插入圖片描述
然後重啓服務器 或者 kill掉已啓動的tomcat進程,再次使用shutdown.sh或者catalina.sh stop停止tomcat,成功停止。


另外在配置自動啓停腳本的時候還遇到一個錯誤:
java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:211) at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:504) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:406) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:498)
解決方法:
catalina.sh文件裏添加下面配置(其中一些參數根據自身情況配置)再重啓服務即可:
JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -server -Xms800M -Xmx800M -XX:NewRatio=1 -XX:SurvivorRatio=4 -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=256M -XX:+UseCompressedClassPointers -XX:CompressedClassSpaceSize=128M -XX:ReservedCodeCacheSize=128M -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UnlockDiagnosticVMOptions -XX:+PrintNMTStatistics -XX:HeapDumpPath=$CATALINA_BASE/dump/dump.dump -Djava.awt.headless=true"
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章