1. TOMCAT 修改端口号
tomcat 端口 范围为 1-65535
,其中 0 -1024
为有名端口,我们一般不能修改使用;
先总结下Windows
环境查看端口命令
- netstat -ano 查看所有使用的端口
- netstat -aon|findstr “8888” 查看被占用端口8888对应的PID
- tasklist|findstr “16024” 查看是pid 为16024的进程对应的服务
- tskill 16024 结束pid= 16024的进程
Tomcat 服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同
分别为:
- 端口一: 修改http访问端口(默认为8080端口)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- 端口二: 修改Shutdown端口(默认为8005端口)
<Server port="8005" shutdown="SHUTDOWN">
- 端口三: 修改JVM启动端口(默认为8009端口)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改端口步骤:
1.打开Tomcat 目录下conf 目录;
2.在conf 目录中找到 server.xml
,用记事本打开;
3.找到默认的8080端口配置,将其改为其他端口,如2222,
其中
- connectionTimeout 为配置服务器访问超时时间;
- redirectPort 配置 https 请求映射,当用户用http请求某个资源,而该资源本身又被设置了必须要 https 方式访问,此时 Tomcat 会自动重定向到这个redirectPort 设置的 https 端口
例如
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
修改为
<Connector port="2222" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="3333" />
<Connector port="3333" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
其中 redirectPort 可以不改,但必须保证 redirectPort 的端口
与scheme="https"的映射的 port 配置一致
2. TOMCAT修改服务名
当我们配置了多个tomcat时,使用命令行窗口时,为了能够区分不同的命令行窗口启动的 Tomcat 服务,我们可以修改 Tomcat 的服务名
修改步骤:
1.打开 Tomcat 下的 bin 目录;
2.找到 bin 目录下的 catalina.bat 文件,使用记事本打开;
3.找到 if "%TITLE%"=="" set TITLE=tomcat
修改**SET TITLE =**后面的tomcat的名字即为命令窗口的名字。
例如 Tomcat 端口为 2222,则可以修改名称为
if "%TITLE%"=="" set TITLE=tomcat-2222
4.保存,运行startup.bat就显示修改后的名字了。
3. TOMCAT 部署 web 应用中文乱码解决
1.修改 server.xml
中 设置Connector编码 ,增加 URIEncoding="UTF-8"
:
<Connector port="9820" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
/>
- 修改 Tomcat
conf\web.xml
文件,增加fileEncoding
属性:
<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>
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
../bin/catalina.bat
文件 新增 encoding 参数:
set "JAVA_OPTS=%JAVA_OPTS% -DFile.encoding=UTF-8"
- web 应用内部 web.xml 增加 编码过滤器:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4. 控制台启动时,控制台显示乱码解决方案
cmd
命令行窗口乱码时,更改控制台编码为UTF-8
chcp 65001
- 由于Tomact日志字符集采用的是gbk,java强制将gbk转换成utf-8后,形成乱码。
路径:{TOMCAT_HOME}/conf/logging.properties
(提示:TOMCAT_HOME为tomcat目录路径)
#处理Windows下控制台日子中文乱码
java.util.logging.ConsoleHandler.encoding = GBK