本文介绍了server.xml 中的环境/系统变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在tomcat server.xml、context.xml等配置文件中使用环境/系统变量?
How can I use environment/system variables in tomcat server.xml, context.xml, etc configuration files?
我尝试使用 ${ENV_VAR_NAME}
(用于环境和系统变量)、${env.ENV_VAR_NAME}
(用于环境变量).似乎没有任何效果.
I tried to use ${ENV_VAR_NAME}
(both for environment and system variable), ${env.ENV_VAR_NAME}
(for environment variables). And nothing seems to work.
推荐答案
在我的盒子里是如何实现的.
How it's realized in my box.
用于启动的 Bash 脚本:
Bash-script for startup:
#!/bin/sh
SMEMORY=1G
XMEMORY=1G
if [ $ENV == DEV ]; then
port_shutdown="8005"
port_http="8080"
port_https="8443"
elif
[ $ENV == SIT ]; then
port_shutdown="8006"
port_http="8081"
port_https="8444"
elif
[ $ENV == UAT ]; then
port_shutdown="8007"
port_http="8082"
port_https="8445"
else
echo "Unknown ENV"
exit 1
fi
export CATALINA_OPTS=" ${SYSTEM_PROPS} -d64 -server -Xms$SMEMORY -Xmx$XMEMORY
-XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=64M
-XX:+HeapDumpOnOutOfMemoryError -XX:MaxPermSize=1024M
-Dport.http=${port_http} -Dport.https=${port_https} -Dport.shutdown=${port_shutdown}"
exec $CATALINA_HOME/bin/startup.sh
在server.xml
中:
<Connector
port="${port.http}"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="${port.https}"
/>
看一下流程:
$ ps ux | grep tomcat
... -Xms1G -Xmx1G ... -Denv=KIEV_DEV... -Dport.http=8084 -Dport.https=8446 -Dport.shutdown=8008...
检查端口:
$ netstat -anp | grep java
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 :::8084 :::* LISTEN 23343/java
tcp 0 0 :::8446 :::* LISTEN 23343/java
这篇关于server.xml 中的环境/系统变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论