java 環(huán)境配置:
建議:wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.30/bin/apache-tomcat-8.0.30.tar.gz
mkdir /opt/inst
解壓apache-tomcat-8.0.30.tar.gz到/opt/inst目錄下,更名目錄為tomcat
mv apache-tomcat-8.0.30.tar.gz tomcat
在/opt下做個tomcat的軟鏈接
ln -s /opt/apache-tomcat-8.0.26/ tomcat
webapps指向上面軟鏈接的tomcat
unlink webapps
ln -s /opt/tomcat/webapps/ webapps
安全配置
修改tomcat的shutdown端口和指令
vi cd /opt/tomcat/conf/server.xml
找到:
<Server port="8005" shutdown="SHUTDOWN">
改成:
<Server port="8015" shutdown="noahturnoff55555">
刪除掉tomcat的管理控制臺
cd /opt/tomcat/webapps
刪除該目錄下的所有文件
參數(shù)調(diào)優(yōu)
jvm調(diào)優(yōu)
vi /opt/tomcat/bin/catalina.sh
找到OS specific support. $var must be set to either true or false.cygwin=false
在這段代碼之前,新增如下:
JAVA_OPTS='-server -Xms1800m -Xmx1800m -Xmn680m -Xss256k -XX:PermSize=240m -XX:MaxPermSize=240m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection -XX:+CMSClassUnloadingEnabled -XX:+DisableExplicitGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/應(yīng)用名 -Dcom.sun.management.jmxremote.port=9981 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
<font color='red'>解釋一下:設(shè)置最大堆和最小堆相同,均為1800m,新生代代銷680m,每個線程可使用大小256k,永久代最大值和最小值均一樣,都是240m,老年代收集器使用CMS(標(biāo)記-清除算法,并發(fā)收集器,GC線程和用戶線程一起收集),且當(dāng)進行5次不壓縮的full gc之后進行一次內(nèi)存碎片的整理壓縮,CMS還會對永久代進行回收(CMSClassUnloadingEnabled);新生代使用ParNewGC(標(biāo)記-復(fù)制算法,并行收集器,多線程一起收集,并非并發(fā)哦。);打印GC日志,發(fā)生OOM的時候打印堆轉(zhuǎn)儲信息到 opt/應(yīng)用名 目錄下</font>
并發(fā)調(diào)優(yōu)
tomcat 8 默認(rèn)最大鏈接數(shù)是10000,最大線程數(shù)是200,一般夠用了.
其他
調(diào)整tomcat的服務(wù)端口號為8081
nginx監(jiān)聽的是8080,然后跳tomcat的8081
vi /opt/tomcat/conf/server.xml
找到
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
改為
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
應(yīng)用包部署
代碼部署打包文件名調(diào)整
vi /opt/tomcat/conf/server.xml
在
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
在后面添加:
<Context docBase="order" path="/" reloadable="false"/>
備注:通過docBase指定war包的文件名