首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为服务运行时,在tomcat.conf中使用命令替换吗?

问作为服务运行时,在tomcat.conf中使用命令替换吗?
EN

Stack Overflow用户
提问于 2020-03-27 07:48:21
回答 1查看 28关注 0票数 0

我在一个使用Amazon Linux1AMI构建的AWS实例中安装了tomcat8。在tomcat.conf中,我添加了使用命令替换$()设置的变量,以便从AWS参数存储中读取参数,其中包含有关数据库url、名称等的信息。任何时候启动tomcat,它都会运行并解析命令,并根据当前参数存储值设置环境变量。然后可以在spring bean中使用它来连接到数据库。

最近,我不得不更新为使用Amazon Linux2 AMI。我知道如何安装tomcat (8.5),但它现在是作为systemctl服务运行的。当启动时,它按原样读取命令替换文本,因此环境变量最终被设置为“$(.)”显然是行不通的。

如果我手动运行/usr/libexec/tomcat/servers start,它会进行替换,但当我运行systemctl start tomcat.service时,它不会。

我尝试过使用jsvc,但这并没有什么不同。在读入tomcat.conf之后,我可以立即打印出/usr/libexec/tomcat/preamble中的一个变量,而它不会进行命令替换。

有人知道为什么这个不再起作用了吗?有没有办法在运行时为tomcat设置环境变量,就像它以前那样工作?

EN

回答 1

Stack Overflow用户

发布于 2020-03-27 08:19:04

所以我想出了一个办法。如果我将一个文件放在/etc/tomcat/conf.d文件夹中,它将被解析。我将我想要设置的所有变量都移入其中,并在前面添加了一个"export“,似乎做到了这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60877915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档