You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS的Ubuntu系统EC2实例中永久设置环境变量

基于Ubuntu的AWS EC2实例永久设置环境变量操作步骤

以下操作均为永久生效配置,重启实例后不会丢失,可满足容器、后台进程等不同场景的变量读取需求。

场景1:仅对单个用户永久生效

适合只需要当前登录用户能读取变量的场景:

  • 编辑当前用户的bash配置文件:nano ~/.bashrc
  • 在文件末尾添加环境变量定义,格式如下:
    export 变量名=变量值
    # 示例:export NODE_ENV=production
    
  • 保存退出后执行命令让配置立即生效:source ~/.bashrc
  • 验证是否生效:echo $变量名 输出你设置的变量值即为成功。

场景2:对系统所有用户(包括root、后台进程)永久生效

适合需要所有用户、服务都能读取变量的场景,分为两种配置方式按需选择:

交互式登录场景生效

  • 编辑全局profile配置文件:sudo nano /etc/profile
  • 在末尾添加环境变量定义:export 变量名=变量值
  • 保存退出后执行生效命令:source /etc/profile

系统全局(登录前即可生效)

  • 编辑系统底层环境变量文件:sudo nano /etc/environment
  • 直接添加变量定义(不需要加export前缀):变量名=变量值
  • 保存后重启EC2实例即可生效

注意:以上两种配置重启实例后依然保留,对所有用户生效。

场景3:给systemd管理的服务/容器进程传递环境变量

普通全局配置不会被systemd管理的进程读取,需要单独配置:

  • 找到对应服务的配置文件,路径通常为/etc/systemd/system/你的服务名.service
  • 在[Service]段下添加如下配置:
    Environment="变量名=变量值"
    # 多个变量可以写多行Environment配置
    
  • 重载systemd配置使修改生效:sudo systemctl daemon-reload
  • 重启对应服务后即可生效:sudo systemctl restart 你的服务名

Docker容器专属配置说明

如果需要让Docker容器读取宿主机的环境变量,可选择以下两种方式:

  • 启动容器时单条传递变量:docker run -e 变量名 镜像名
  • 批量传递变量:将所有变量写入文件(每行格式为变量名=变量值,不需要加export),启动时指定文件:docker run --env-file 你的变量文件路径 镜像名

内容的提问来源于stack exchange,提问作者Saurabh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:15:03