一、环境:javascript
系统:Windows、Linuxcss
Tomcat版本:9html
二、编码与性能调优java
server.xml文件:web
<Connector port="8080" connectionTimeout="20000" redirectPort="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false" maxThreads="1000" minSpareThreads="100" acceptCount="1500" disableUploadTimeout="true" URIEncoding="UTF-8" compression="on" compressionMinSize="1024" useSendfile="false" noCompressionUserAgents="gozilla, traviata" compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" />
参数说明:apache
三、内存配置tomcat
打开$TOMCAT_HOME/bin/catalina.sh文件(Windows系统是catalina.bat文件),大楖在250行左右,在JAVA_OPTS参数上添加内存参数设置便可bash
catalina.sh:服务器
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"
catalina.bat:session
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"
-server参数:表示以服务模式启动,启动速度会稍微慢一点,但性能会高不少。不加这个参数,默认是以客户端模式启动。
java.awt.headless=true参数:与图形操做有关,适用于Linux系统。如生成验证码,含义是当前使用的是没有安装图安装图形界面的服务器,应用中若是获取系统显示有关参数会抛异常,可经过jmap -heap proccess_id查看设置是否成功。
四、启用后台管理
conf\tomcat-users.xml
<role rolename="manager-status"/> <role rolename="manager"/> <role rolename="manager-jmx"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="admin"/> <user username="admin" password="123" roles="manager,manager-gui,admin,manager-status,manager-jmx,manager-script"/>
webapps\manager\META-INF\context.xml
<Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" /> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
五、修改进程名称
setclasspath.bat,找到set _RUNJAVA=”%JRE_HOME%\bin\java”这一行。 将该行注释掉 ,而后在该行下面添加以下两行并进行保存:
copy "%JRE_HOME%\bin\java.exe" "%JRE_HOME%\bin\my_java.exe" set _RUNJAVA="%JRE_HOME%\bin\my_java"
setclasspath.sh,找到_RUNJAVA="$JRE_HOME"/bin/java
这一行, 并注释掉,而后在该行下面添加如两行并进行保存:
cp "$JRE_HOME"/bin/java "$JRE_HOME"/bin/my_java _RUNJAVA="$JRE_HOME"/bin/my_java