我正在使用 Supervisord 运行我的 Java 应用程序,这需要一些环境变量进行配置。我正在设置环境变量/etc/环境
export MANAGER_URL="http://192.xxx.xxx.xxx:8080/manager/"
export MANAGER_URL2="http://192.xxx.xxx.yyy:8081/manager/"
我的主管/conf.d/myjavaapp.conf好像:
[supervisord]
nodaemon=false
logfile_maxbytes=100MB
logfile_backups=0
[program:java-app]
command=/usr/bin/java -jar /home/pi/deploy/java-app.jar
stdout_logfile_maxbytes=200MB
stdout_logfile_backups=2
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=0
autostart=true
我知道我可以为[java-应用程序]部分为:
environment=MANAGER_URL="url1",MANAGER_URL2="url2"
但这对我来说不起作用,因为我需要使用 Puppet manifest 更新变量值,它可以更新 bash 环境变量,但不能更新主管子进程环境变量。
我尝试使用以下方法访问 shell 环境变量:
environment=MANAGER_URL=%(MANAGER_URL)s,MANAGER_URL2=%(MANAGER_URL2)s
但这导致了一个错误,提示字符串无法扩展。
有什么办法可以读取我的 bash 环境变量吗?主管配置文件?
额外信息:
我正在运行Raspberry Pi 操作系统
systemd 在启动时使用 /etc/init.d/ 中的脚本运行 Supervisord。Puppet
代理也由 Supervisor 运行,因此它无法重新启动 Supervisor 服务