Tomcat常用配置
1.启动内存:
catalina.sh的前面(第二行)
set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=256m
2.字符集
server.xml配置端口后:
URIEncoding="UTF-8"
3.多项目配置
在Host里加入Context
<Context docBase="/data/webapp" path="/interface" reloadable="true" ></Context>
4.域名解析
Host配置(可多个)
<Host appBase="webapps" autoDeploy="true" name="www.yourdomain.ink" unpackWARs="true">...</Host>
5.用Tomcat自带的应用管理
配置tomcat/conf/tomcat-users.xml
<role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="yourname" password="yourpassword" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>
需远程访问Tomcat的管理页面还需要配置相应的ip允许规则,配置manager的context.xml,或者也可以在${catalina.home}/conf/Catalina/localhost目录下配置两个context.xml文件,也可以写成一个,但是建议写成两个便于权限管理,如下:
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" /> --> //注释掉或修改规则 <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
或者
manager.xml:
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^192.168.*$" /> </Context>
host-manager.xml:
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^192.168.*$" /> </Context>
其中allow中是填ip可以使用正则表达式匹配,在内网中建议写成匹配某某网段可以访问的形式,如此Tomcat的manager页面访问配置就完成了。
经过以上设置可以访问,但是部署war包的时候总是报错,原因:
上传的部署文件超过了设定的大小,因此部署失败!
修改:$tomcat_home\webapps\manager\WEB-INF\web.xml
修改其文件的限制大小就可以了。
5.Tomcat隐藏版本号
方法一
1、进入到tomcat/lib目录下,用电脑自带解压软件打开catalina.jar 进入到\org\apache\catalina\util目录下
2、编辑ServerInfo.properties文件,编辑最后三行,去掉版本号等信息
3、改完后自动跳出提示,点击“是”自动更新catalina.jar重新打包。
server.info=Apache Tomcat/8.5.79
改为server.info=Apache Tomcat,如果不想显示Tomcat信息,则可以将其改为server.info= 即可。
方法二
在conf/server.xml配置文件中的<Host>配置项中添加如下配置:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
参考:
https://www.cnblogs.com/grasp/p/10032103.html
https://blog.csdn.net/wang864676212/article/details/81905969
https://blog.csdn.net/qq_29347295/article/details/79972550
https://blog.csdn.net/qq_41600824/article/details/129061863