首页/系统/信创系统运维速查/服务环境变量:EnvironmentFile 配置
服务与运维65 条

服务环境变量:EnvironmentFile 配置

给 systemd 服务集中注入环境变量:单元里用 EnvironmentFile 指向 key=value 文件(路径前加 - 表示文件缺失也不报错),配合 Environment 直接定义,改后重启生效。

信创系统运维速查系统更新于 2026-10-12

单元片段

单元片段
[Service]
EnvironmentFile=-/etc/sysconfig/myapp
Environment=APP_MODE=prod
ExecStart=/opt/myapp/bin/myapp

环境文件 /etc/sysconfig/myapp(不要写 export)

环境文件 /etc/sysconfig/myapp(不要写 export)
PORT=8080
DB_HOST=10.0.0.30

生效与确认

生效与确认
systemctl daemon-reload && systemctl restart myapp
systemctl show myapp -p EnvironmentFile -p Environment
EnvironmentFile 是 KEY=value 纯文本:不写 export、不做命令替换($(...) 会原样当值),动态环境用包装脚本处理。

易错点

  • 改环境文件内容只需 restart(不必 daemon-reload);改单元里的指向路径要 daemon-reload
  • 值里多余的空格与引号可能被原样带入,保持裸值写法更稳

数据来源与参考

  • man 5 systemd.exec(EnvironmentFile)
  • 红帽系统管理指南(服务环境变量)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌