{"id":916,"date":"2021-05-10T07:56:45","date_gmt":"2021-05-10T07:56:45","guid":{"rendered":"http:\/\/www.liutianfeng.com\/?p=916"},"modified":"2022-03-08T09:21:17","modified_gmt":"2022-03-08T09:21:17","slug":"jdk%e7%9b%b8%e5%85%b3-%e4%b8%8b%e8%bd%bd%e3%80%81%e9%83%a8%e7%bd%b2%e3%80%81%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f","status":"publish","type":"post","link":"https:\/\/www.liutianfeng.com\/?p=916","title":{"rendered":"JDK Tomcat\u76f8\u5173-\u4e0b\u8f7d\u3001\u90e8\u7f72\u3001\u73af\u5883\u53d8\u91cf"},"content":{"rendered":"<p>\u4e0b\u8f7d\u5730\u5740-\u56fd\u5185\u963f\u91cc\u4e91\u52a0\u901f<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">jdk-11.0.10_windows-x64_bin.zip\thttps:\/\/code.aliyun.com\/kar\/ojdk-11.0.10\/raw\/master\/jdk-11.0.10_windows-x64_bin.zip\r\njdk-11.0.10_osx-x64_bin.tar.gz\thttps:\/\/code.aliyun.com\/kar\/ojdk-11.0.10\/raw\/master\/jdk-11.0.10_osx-x64_bin.tar.gz\r\njdk-11.0.10_linux-x64_bin.tar.gz\thttps:\/\/code.aliyun.com\/kar\/ojdk-11.0.10\/raw\/master\/jdk-11.0.10_linux-x64_bin.tar.gz\r\njdk-11.0.10_linux-aarch64_bin.tar.gz\thttps:\/\/code.aliyun.com\/kar\/ojdk-11.0.10\/raw\/master\/jdk-11.0.10_linux-aarch64_bin.tar.gz\r\njdk-8u281-linux-aarch64.tar.gz\thttps:\/\/code.aliyun.com\/kar\/ojdk-8u281\/raw\/master\/jdk-8u281-linux-aarch64.tar.gz\r\njdk-8u281-linux-x64.tar.gz\thttps:\/\/code.aliyun.com\/kar\/ojdk-8u281\/raw\/master\/jdk-8u281-linux-x64.tar.gz\r\njdk-8u281-macosx-x64.dmg\thttps:\/\/code.aliyun.com\/kar\/ojdk-8u281\/raw\/master\/jdk-8u281-macosx-x64.dmg\r\njdk-8u281-windows-x64.exe\thttps:\/\/code.aliyun.com\/kar\/ojdk-8u281\/raw\/master\/jdk-8u281-windows-x64.exe<\/code><\/pre>\n<p>\u89e3\u538b\u540e\u76f4\u63a5\u653e\u5230\u5bf9\u5e94\u76ee\u5f55<\/p>\n<p>\u73af\u5883\u53d8\u91cf<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">&gt; vim \/etc\/profile.d\/java.sh\r\nexport JAVA_HOME=\/usr\/local\/jdk1.8.0_281\r\nexport JAVA_BIN=$JAVA_HOME\/bin\r\nexport JAVA_LIB=$JAVA_HOME\/lib\r\nexport CLASSPATH=.:$JAVA_LIB\/tools.jar:$JAVA_LIB\/dt.jar\r\nexport PATH=$JAVA_BIN:$PATH<\/code><\/pre>\n<p>Tomcat\u7b80\u5355\u91cd\u542f\u811a\u672c\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">#!\/bin\/bash\r\nTOMCAT_HOME=\/usr\/local\/tomcat-lius_8.5.65\/\r\nBINDIR=${TOMCAT_HOME}\/bin\r\nLOGFILE=${TOMCAT_HOME}\/logs\/status.log\r\n&gt; ${LOGFILE}\r\n${BINDIR}\/shutdown.sh &gt; ${LOGFILE} 2&gt;&amp;1\r\nsleep 2\r\nif ! ps aux |grep tomcat |grep -v -q grep; then\r\n    echo \"Stop tomcat successfully, begin to start...\"\r\nelse\r\n    echo \"Stop tomcat failed, begin to kill the process...\"\r\n    ps aux |grep tomcat |grep -v -q grep |awk '{print $2}' |xargs -i kill -9 {}\r\n    sleep 1\r\n    if ! ps aux |grep tomcat |grep -v -q grep; then\r\n        echo \"Tomcat had been killed successfully...\"\r\n    else\r\n        echo \"Kill tomcat process failed, exit...\"\r\n        exit 8\r\n    fi\r\nfi\r\n\r\n${BINDIR}\/startup.sh &gt; ${LOGFILE} 2&gt;&amp;1\r\nif ps aux |grep tomcat |grep -v -q grep; then\r\n    echo \"Start tomcat successfully...\"\r\nelse\r\n    echo \"Start tomcat failed, exit...\"\r\n    exit 3\r\nfi<\/code><\/pre>\n<p>\u6839\u636e\u5b9e\u4f8b\u542f\u505cTomcat\u7684\u811a\u672c\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">#!\/bin\/bash\r\nset -euo pipefail\r\nDIR_NAME=$1\r\n\r\n# \u505c\u6b62\r\ncd \/usr\/local\/${DIR_NAME}\/bin\r\n.\/shutdown.sh &amp;&gt; \/dev\/null 2&gt;&amp;1\r\nsleep 1\r\nTIME_WAIT=0\r\nwhile :; do\r\n    if [ ${TIME_WAIT} -gt 10 ]; then\r\n        echo \"\u505c\u6b62\u8d85\u65f6\uff0c\u811a\u672c\u9000\u51fa\uff01\"\r\n        exit 5\r\n    else\r\n        if ps aux |grep \"${DIR_NAME}\" |grep -v grep |grep -vq \"re_Tomcat.sh\"; then\r\n            sleep 1\r\n            let TIME_WAIT+=1\r\n        else\r\n            echo \"\u505c\u6b62${DIR_NAME}\u6210\u529f...\"\r\n            break\r\n        fi\r\n    fi\r\ndone\r\n\r\n# \u542f\u52a8\r\n.\/startup.sh &amp;&gt; \/dev\/null 2&gt;&amp;1\r\nsleep 1\r\nTIME_WAIT=0\r\nwhile :; do\r\n    if [ ${TIME_WAIT} -gt 10 ]; then\r\n        echo \"\u542f\u52a8\u8d85\u65f6\uff0c\u811a\u672c\u9000\u51fa\uff01\"\r\n        exit 6\r\n    else\r\n        if ps aux |grep ${DIR_NAME} |grep -v grep |grep -vq \"re_Tomcat.sh\"; then\r\n            echo \"\u542f\u52a8${DIR_NAME}\u6210\u529f\uff0c\u65b0Tomcat\u8fdb\u7a0bID\u548c\u542f\u52a8\u65f6\u95f4\u4e3a\uff1a`ps aux |grep ${DIR_NAME} |grep -v \"re_Tomcat.sh\"|grep -v grep |awk '{print $2,$9}'`\"\r\n            break\r\n        else\r\n            sleep 1\r\n        fi\r\n    fi\r\ndone<\/code><\/pre>\n<p>Tomcat\u81ea\u52a8\u90e8\u7f72war\u5305\u5230ROOT\u76ee\u5f55\uff1a<\/p>\n<p>\u6ce8\u610f\uff0c\u8fd9\u91cc\u662f\u6307\u7684\u8bb2war\u5305\u89e3\u538b\u540e\uff0c\u76f4\u63a5\u547d\u540d\u4e3aROOT\u3002\u539f\u6765webapps\u91cc\u9762\u5c31\u6709ROOT\u76ee\u5f55\uff0c\u5728\u91cd\u542f\u524d\u9700\u8981\u5220\u9664\u6216\u8005mv\uff0c\u56e0\u4e3a\u91cd\u542f\u4e0d\u4f1a\u8986\u76d6\u539f\u6709\u7684\u9879\u76ee\u3002<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">\u4fee\u6539conf\u76ee\u5f55\u4e0bserver.xml\uff0c\u5728\u6587\u4ef6\u672b\u5c3eHost\u6807\u7b7e\u4e2d\u52a0\u4e0a\u5982\u4e0b\u914d\u7f6e:\r\n&lt;Context path=\"\/\" docBase=\"..\/wars\/lius.war\" reloadable=\"true\" crossContext=\"true\" \/&gt;<\/code><\/pre>\n<p>\u8fd9\u91cc\u7684\/\u6307\u7684\u662ftomcat\u7a0b\u5e8f\u6240\u5728\u7684\u76ee\u5f55\uff0c\u5728tomcat\u7a0b\u5e8f\u76ee\u5f55\u4e0b\u6709wars\/lius.war\u8fd9\u4e2a\u5305\uff0c\u91cd\u542ftomcat\u4e4b\u540e\uff0c\u4f1a\u5c06\u8fd9\u4e2a\u5305\u89e3\u538b\u540e\uff0c\u547d\u540d\u4e3awebapps\/ROOT\uff0c\u8fd9\u6837\uff0c\u8bbf\u95ee\u8fd9\u4e2aapp\u5c31\u53ef\u4ee5\u901a\u8fc7ip:\u7aef\u53e3\u8bbf\u95ee\uff0c\u4e0d\u7528\u518d\u52a0app\u540d\u5b57\u4e86\u3002<\/p>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.liutianfeng.com\">liutianfeng.com<\/a> &raquo; <a href=\"https:\/\/www.liutianfeng.com\/?p=916\">JDK Tomcat\u76f8\u5173-\u4e0b\u8f7d\u3001\u90e8\u7f72\u3001\u73af\u5883\u53d8\u91cf<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u8f7d\u5730\u5740-\u56fd\u5185\u963f\u91cc\u4e91\u52a0\u901f jdk-11.0.10_windows-x64_bin.zip https:\/\/co [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/916"}],"collection":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=916"}],"version-history":[{"count":10,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/916\/revisions"}],"predecessor-version":[{"id":1207,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/916\/revisions\/1207"}],"wp:attachment":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}