我必须在服务器上和同一个用户启动2个tomcat实例。 我正在尝试在启动tomcat时设置不同的CATALINA_BASE,但不使用此环境变量。
这是我使用的命令:
base0=/home/$INT/inst0
base1=/home/$INT/inst1
#...
su $INT -c "CATALINA_BASE=$base0;$cathome/bin/startup.sh"
su $INT -c "CATALINA_BASE=$base1;$cathome/bin/startup.sh"
这就是我在控制台中看到的:
Using CATALINA_BASE: /home/mci2/tomcat
Using CATALINA_HOME: /home/mci2/tomcat
Using CATALINA_TMPDIR: /home/mci2/tomcat/temp
catalina_home还可以,但不是catalina_base。
我喜欢什么?
答案 0 :(得分:1)
你应该使用单引号:
su -c "var=Hello; echo $var"
VS
su -c 'var=Hello; echo $var'
shell解释双引号内的变量,并且如果没有为执行CATALINA_BASE
的env设置su
,则将其替换为之前的空字符串 / em>实际执行su
。
答案 1 :(得分:0)
如果您在单个主机上运行多个Tomcat实例 应该将CATALINA_BASE设置为等于... / tomcat_instance1或 ... / tomcat_instance2目录适用于每个实例和 CATALINA_HOME环境变量到常见的Tomcat 安装,其文件将在两个实例之间共享。 tomcat - CATALINA_BASE and CATALINA_HOME variables