安装配置Tomcat以及参数优化
安装
#检查JDK
#java -version
#下载指定的版本
链接: https://tomcat.apache.org/download-80.cgi.
#创建目录
#cd /usr/local/ && mkdir tomcat && cd tomcat/
#移动到指定目录
#mv apache-tomcat-8.5.59 /usr/local/tomcat/
#检查端口,默认使用8080
#netstat -nltp
#centos7 #默认请安装yum install lsof
配置
优化catalin.sh JVM配置
#-Xms8096m -Xmx8096m 如果服务器就跑这个Tomcat,设置成服务器内存的一半就好
JAVA_OPTS="-server -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Xms512m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=8 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime -Xloggc:gc.out -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=javadump/"
#JDK 1.8(含1.8)以后配置,使用了新参数名称 -XX:MetaspaceSize、-XX:MaxMetaspaceSize 两个参数
JAVA_OPTS="-server -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Xms512m -Xmx512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=8 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime -Xloggc:gc.out -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=javadump/"
修改全局环境变量配置文件
#vi /etc/profile
已经配置的JDK信息
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64 # 注意路径和文件名
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
新增Tomcat配置信息
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.59
CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib
PATH=$PATH:$CATALINA_HOME/bin
export CATALINA_HOME CLASSPATH PATH
#source /etc/profile
配置优化(请参考)
链接: https://blog.csdn.net/qq_23994787/article/details/79479686.
安全配置
1、创建根目录
#cd /usr/local/tomcat/apache-tomcat-8.5.59/webapps
#rm -rf *
#cd /usr/local/tomcat/apache-tomcat-8.5.59/work/Catalina/localhost
#rm -rf *
#创建www目录
#mkdir -p /opt/tomcatroot/www
2、注释tomcat-users.xml
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
3、隐藏tomcat版本信息
修改$CATALINA_HOME/conf/server.xml,在Connector节点添加server字段
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
server="www1.0" />
4、关闭自动部署
如果不需要自动部署,建议关闭自动部署功能。
在$CATALINA_HOME/conf/server.xml中的host字段,修改unpackWARs=“false” autoDeploy=“false”。
<Host name="localhost" appBase="webapps"
unpackWARs="false" autoDeploy="false">
5、设置tomcat主目录
<Context path="/" docBase="/opt/tomcatroot/www/" debug="0" reloadable="false"></Context>
#禁止列目录(高版本默认已禁止)
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
6、启用cookie的HttpOnly属性
修改$CATALINA_HOME/conf/context.xml,添加
<Context userHttpOnly="true">
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!-- <Manager pathname="" /> -->
</Context>
设置普通用户启动
#groupadd www
#useradd -g www -s /sbin/nologin www
#chown -R www.www /usr/local/tomcat/ #修改Tomcat目录属主
#chown -R www.www /opt/tomcatroot/www #修改对应www目录属主
#su -p -s /bin/sh www -c “catalina.sh start” #启动
#su -p -s /bin/sh www -c “catalina.sh stop” #停止
部署war
#上传war包至/opt/tomcatroot/www
#unzip -oq demo02_war.war