gpt4 book ai didi

linux - 在 AWS 实例中设置环境变量

转载 作者:IT王子 更新时间:2023-10-29 00:57:15 26 4
gpt4 key购买 nike

我使用此资源在 EC2 中使用 terraform 创建了一个AMI:

resource "aws_instance" "devops-demo" {
ami = "jnkdjsndjsnfsdj"
instance_type = "t2.micro"
key_name = "demo-devops"
user_data = "${file("ops_setup.sh")}"
}

用户数据执行安装 Java JRE 的 shell 脚本:

  sudo yum remove java-1.7.0-openjdk -y
sudo wget -O /opt/server-jre-8u172-linux-x64.tar.gz --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/server-jre-8u172-linux-x64.tar.gz"
sudo tar xzf /opt/server-jre-8u172-linux-x64.tar.gz
export JAVA_HOME=/jdk1.8.0_172
export JRE_HOME=/jdk1.8.0_171/jre
export PATH=$JAVA_HOME/bin:$PATH

但是没有一个环境变量起作用。但是,如果我通过 ssh 连接到实例并执行导出命令,则它工作正常。

有什么方法可以用 terraform 定义环境变量吗?

最佳答案

使用 export 命令仅为当前 shell 和从该 shell 启动的所有进程设置这些变量。这不是一个持久的设置。任何你希望永久化的东西都应该在 /etc/environment 中设置。

例如在用户数据中:

echo "JAVA_HOME=/jdk1.8.0_172" >> /etc/environment

这会将 JAVA_HOME=/jdk1.8.0_172 行添加到该文件。请注意,您不应在该文件中使用 export

PATH 变量可能已经在 /etc/environment 文件中定义,如果您要向其附加其他路径,则需要适本地覆盖它.

answer 中提供了有关设置环境变量的详细信息.

关于linux - 在 AWS 实例中设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50668315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com