总结一些Tomcat中常用的配置方法
1.解决控制台乱码
在运行我们带中文字符的程序时,往往会在控制台中出现乱码,就像下面这样,对我们查看调试信息和日志很不方便。
需要对它进行以下处理,首先进入到Tomcat的目录下,在conf文件夹中找到logging.properties文件.
Tomcat 8.5\conf\logging.properties
在编辑文件时,建议使用Notepad++一类的工具,而不是使用自带的记事本,以防止乱码。打开文件后,在下图的位置中修改为以下代码:
java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter java.util.logging.ConsoleHandler.encoding = GBK
2.Tomcat指定JDK运行
经常我们会迁移Tomcat或是指定多个JDK/JRE路径来打包一个完整的应用,将我们的程序做一个绿色版本,后续只需要把文件夹拷贝给客户,稍做修改就能投入使用了,很是方便。
在bin目录下,找到setclasspath.bat,在Linux下则是setclasspath.sh文件。打开后,在文件的第一行加入以下内容,JDK和JRE的路径根据自己的实际情况修改。
# Windows set JAVA_HOME=D:\java\jdk1.7 set JRE_HOME=D:\java\jdk1.7\jre
Linux版本有些许不同,需要使用以下语法。
JAVA_HOME=/home/jdk1.8/ JRE_HOME=/home/jdk1.8/jre
配置完,保存重启就可以了。
3.用不同的端口访问同一个项目
我部署了一个网站,我想使用不同的端口去访问同一个项目。在conf目录下,打开server.xml文件。在原有的端口配置下,复制一份修改成新的端口。
比如我把新的端口修改成了6060,保存重启。
<Connector port="6060" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
重启后,我便能使用以下的两个地址来访问我的项目了。
http://127.0.0.1:8080 http://127.0.0.1:6060
4.用不同的端口访问不同的项目
当想用同一个Tomcat去解析不同的项目时,我们可以使用Tomcat来对不同的端口进行解析,进而定位到我们的项目中。在conf目录下,打开server.xml文件。
将下面的代码插入到上图所示的位置中,如果还需要部署多个项目,再继续拷贝以上代码,并把其中的Catalina1和webapps1依次往下编号。
<Service name="Catalina1"> <Connector port="9090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="Catalina1" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> </Engine> </Service>
完成后在conf目录下新创建一个Catalina1的目录,如果有多个,也创建多个。
最后重启即可实现使用不同的端口访问不同的项目。
5.虚拟目录
重启服务,我们在访问网址时加入/test后缀,即可访问我们的项目。