在tomcat的catalina.sh可以看到

[start-plane type="3"]#确保启动时未使用任何用户定义的CLASSPATH变量[/start-plane]

[start-plane type="3"]#但在极少数情况下需要在setenv.sh中指定它们。[/start-plane]

如果setenv.sh中定义了变量,则优先取值。

所以在bin目录中可以定义一些tomcat运行时环境变量,包括jvm参数

例如:

CATALINA_HOME=/home/apache-tomcat-7.0.96 
CATALINA_BASE=$(cd "$(dirname "$0")";cd ..; pwd;) 
JAVA_HOME=/opt/jdk1.7.0_79 
JRE_HOME=/opt/jdk1.7.0_79/jre 
INSTANCE_NAME=test 
LOG_BASE=/opt/applogs/rtlog/$INSTANCE_NAME 
JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2048m -XX:MaxPermSize=512m -XX:PermSize=256m"
CATALINA_OUT=$LOG_BASE/catalina.out
CLASS_PATH=/opt/webConfig
export LANG=zh_CN.UTF-8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

然也可以把这这些直接写进catalina.sh,直接定义。


啦啦啦!