重定向web应用程序目录
目的: 网站文件与tomcat程序分离,便于升级维护;便于在同一台服务器上运行多个网站,每个网站分开使用各自的tomcat程序。
一般在使用tomcat时,服务器会从conf、webapps目录中读取配置文件,并将文件写入logs、temp、work目录。
修改tomcat监听端口号
tomcat默认的端口号为 8080,定义位置 conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改port值,重启tomcat服务即可。
非root用户用80端口提供服务
1、端口转发
在linux等操作系统上运行tomcat时,如果使用的端口小于1024,则需要以root权限运行tomcat;当tomcat使用的端口大于1024,如8080时则可以用非root用户启动tomcat服务。在没有root权限的情况下,以8080启动tomcat,将80端口的tcp请求传递给8080。需要使用iptables来做80端口的请求传递:
iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
并将8080端口在iptables中开放即可:
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
在配置文件 conf/server.xml 中 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 添加代理端口 proxyPort="80"
2、通过service wrapper 来运行tomcat
安装使用jsvc来实现
JAVA VM配置
如果没有指定JVM可使用的堆栈数量的上限,则只用默认内存数量的上限。如果tomcat在启动时没有足够的内存,它会给所有的web客户端提供error页面,如果启动时有足够的内存,但是没有与已配置好的连接器相等的充足线程,允许执行并发请求,部分或全部请求会得到error相应或者断开连接。
JVM堆的设置是java程序运行时,jvm可调用的内存空间的设置。默认情况下,JVM在启动时会自动设置Heap Size的值,其初始化空间(-Xms)是物理内存的1/64,最大空间(-Xmx)为物理内存的1/4。
设置JVM内存的参数有多个,常用的有:
-Xmx 最大堆栈内存,默认值为物理内存的1/4
-Xms 堆栈内存的初始化值,server端的JVM最好将 -Xmx和 -Xms设置为相同的值
-Xmn Java heap young区大小,不熟悉最好保留默认值
-Xss 线程的stack大小